minecraft-src/net/minecraft/world/entity/HumanoidArm.java
2025-07-04 02:00:41 +03:00

44 lines
1.2 KiB
Java

package net.minecraft.world.entity;
import com.mojang.serialization.Codec;
import java.util.function.IntFunction;
import net.minecraft.util.ByIdMap;
import net.minecraft.util.OptionEnum;
import net.minecraft.util.StringRepresentable;
import net.minecraft.util.ByIdMap.OutOfBoundsStrategy;
public enum HumanoidArm implements OptionEnum, StringRepresentable {
LEFT(0, "left", "options.mainHand.left"),
RIGHT(1, "right", "options.mainHand.right");
public static final Codec<HumanoidArm> CODEC = StringRepresentable.fromEnum(HumanoidArm::values);
public static final IntFunction<HumanoidArm> BY_ID = ByIdMap.continuous(HumanoidArm::getId, values(), OutOfBoundsStrategy.ZERO);
private final int id;
private final String name;
private final String translationKey;
private HumanoidArm(final int id, final String name, final String translationKey) {
this.id = id;
this.name = name;
this.translationKey = translationKey;
}
public HumanoidArm getOpposite() {
return this == LEFT ? RIGHT : LEFT;
}
@Override
public int getId() {
return this.id;
}
@Override
public String getKey() {
return this.translationKey;
}
@Override
public String getSerializedName() {
return this.name;
}
}