minecraft-src/net/minecraft/client/tutorial/TutorialSteps.java
2025-07-04 01:41:11 +03:00

41 lines
1.2 KiB
Java

package net.minecraft.client.tutorial;
import java.util.function.Function;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
@Environment(EnvType.CLIENT)
public enum TutorialSteps {
MOVEMENT("movement", MovementTutorialStepInstance::new),
FIND_TREE("find_tree", FindTreeTutorialStepInstance::new),
PUNCH_TREE("punch_tree", PunchTreeTutorialStepInstance::new),
OPEN_INVENTORY("open_inventory", OpenInventoryTutorialStep::new),
CRAFT_PLANKS("craft_planks", CraftPlanksTutorialStep::new),
NONE("none", CompletedTutorialStepInstance::new);
private final String name;
private final Function<Tutorial, ? extends TutorialStepInstance> constructor;
private <T extends TutorialStepInstance> TutorialSteps(final String name, final Function<Tutorial, T> constructor) {
this.name = name;
this.constructor = constructor;
}
public TutorialStepInstance create(Tutorial tutorial) {
return (TutorialStepInstance)this.constructor.apply(tutorial);
}
public String getName() {
return this.name;
}
public static TutorialSteps getByName(String name) {
for (TutorialSteps tutorialSteps : values()) {
if (tutorialSteps.name.equals(name)) {
return tutorialSteps;
}
}
return NONE;
}
}