46 lines
1.3 KiB
Java
46 lines
1.3 KiB
Java
package net.minecraft.world.item;
|
|
|
|
import com.mojang.serialization.Codec;
|
|
import java.util.function.IntFunction;
|
|
import net.minecraft.util.ByIdMap;
|
|
import net.minecraft.util.StringRepresentable;
|
|
import net.minecraft.util.ByIdMap.OutOfBoundsStrategy;
|
|
|
|
public enum ItemDisplayContext implements StringRepresentable {
|
|
NONE(0, "none"),
|
|
THIRD_PERSON_LEFT_HAND(1, "thirdperson_lefthand"),
|
|
THIRD_PERSON_RIGHT_HAND(2, "thirdperson_righthand"),
|
|
FIRST_PERSON_LEFT_HAND(3, "firstperson_lefthand"),
|
|
FIRST_PERSON_RIGHT_HAND(4, "firstperson_righthand"),
|
|
HEAD(5, "head"),
|
|
GUI(6, "gui"),
|
|
GROUND(7, "ground"),
|
|
FIXED(8, "fixed");
|
|
|
|
public static final Codec<ItemDisplayContext> CODEC = StringRepresentable.fromEnum(ItemDisplayContext::values);
|
|
public static final IntFunction<ItemDisplayContext> BY_ID = ByIdMap.continuous(ItemDisplayContext::getId, values(), OutOfBoundsStrategy.ZERO);
|
|
private final byte id;
|
|
private final String name;
|
|
|
|
private ItemDisplayContext(final int id, final String name) {
|
|
this.name = name;
|
|
this.id = (byte)id;
|
|
}
|
|
|
|
@Override
|
|
public String getSerializedName() {
|
|
return this.name;
|
|
}
|
|
|
|
public byte getId() {
|
|
return this.id;
|
|
}
|
|
|
|
public boolean firstPerson() {
|
|
return this == FIRST_PERSON_LEFT_HAND || this == FIRST_PERSON_RIGHT_HAND;
|
|
}
|
|
|
|
public boolean leftHand() {
|
|
return this == FIRST_PERSON_LEFT_HAND || this == THIRD_PERSON_LEFT_HAND;
|
|
}
|
|
}
|