minecraft-src/net/minecraft/world/item/ItemDisplayContext.java
2025-07-04 03:45:38 +03:00

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;
}
}