package net.minecraft.world; import java.util.function.IntFunction; import javax.annotation.Nullable; import net.minecraft.network.chat.Component; import net.minecraft.util.ByIdMap; import net.minecraft.util.StringRepresentable; public enum Difficulty implements StringRepresentable { PEACEFUL(0, "peaceful"), EASY(1, "easy"), NORMAL(2, "normal"), HARD(3, "hard"); public static final StringRepresentable.EnumCodec CODEC = StringRepresentable.fromEnum(Difficulty::values); private static final IntFunction BY_ID = ByIdMap.continuous(Difficulty::getId, values(), ByIdMap.OutOfBoundsStrategy.WRAP); private final int id; private final String key; private Difficulty(final int p_19026_, final String p_19027_) { this.id = p_19026_; this.key = p_19027_; } public int getId() { return this.id; } public Component getDisplayName() { return Component.translatable("options.difficulty." + this.key); } public Component getInfo() { return Component.translatable("options.difficulty." + this.key + ".info"); } public static Difficulty byId(int p_19030_) { return BY_ID.apply(p_19030_); } @Nullable public static Difficulty byName(String p_19032_) { return CODEC.byName(p_19032_); } public String getKey() { return this.key; } @Override public String getSerializedName() { return this.key; } }