58 lines
2.5 KiB
Java
58 lines
2.5 KiB
Java
package org.bukkit.craftbukkit;
|
|
|
|
import java.util.Locale;
|
|
import net.minecraft.world.InteractionHand;
|
|
import net.minecraft.world.entity.EquipmentSlotGroup;
|
|
import org.bukkit.inventory.EquipmentSlot;
|
|
|
|
public class CraftEquipmentSlot {
|
|
|
|
private static final net.minecraft.world.entity.EquipmentSlot[] slots = new net.minecraft.world.entity.EquipmentSlot[EquipmentSlot.values().length];
|
|
private static final EquipmentSlot[] enums = new EquipmentSlot[net.minecraft.world.entity.EquipmentSlot.values().length];
|
|
|
|
static {
|
|
set(EquipmentSlot.HAND, net.minecraft.world.entity.EquipmentSlot.MAINHAND);
|
|
set(EquipmentSlot.OFF_HAND, net.minecraft.world.entity.EquipmentSlot.OFFHAND);
|
|
set(EquipmentSlot.FEET, net.minecraft.world.entity.EquipmentSlot.FEET);
|
|
set(EquipmentSlot.LEGS, net.minecraft.world.entity.EquipmentSlot.LEGS);
|
|
set(EquipmentSlot.CHEST, net.minecraft.world.entity.EquipmentSlot.CHEST);
|
|
set(EquipmentSlot.HEAD, net.minecraft.world.entity.EquipmentSlot.HEAD);
|
|
set(EquipmentSlot.BODY, net.minecraft.world.entity.EquipmentSlot.BODY);
|
|
}
|
|
|
|
private static void set(EquipmentSlot type, net.minecraft.world.entity.EquipmentSlot value) {
|
|
CraftEquipmentSlot.slots[type.ordinal()] = value;
|
|
CraftEquipmentSlot.enums[value.ordinal()] = type;
|
|
}
|
|
|
|
public static EquipmentSlot getSlot(net.minecraft.world.entity.EquipmentSlot nms) {
|
|
return CraftEquipmentSlot.enums[nms.ordinal()];
|
|
}
|
|
|
|
public static org.bukkit.inventory.EquipmentSlotGroup getSlot(EquipmentSlotGroup nms) {
|
|
return org.bukkit.inventory.EquipmentSlotGroup.getByName(nms.getSerializedName());
|
|
}
|
|
|
|
public static net.minecraft.world.entity.EquipmentSlot getNMS(EquipmentSlot slot) {
|
|
return CraftEquipmentSlot.slots[slot.ordinal()];
|
|
}
|
|
|
|
public static EquipmentSlotGroup getNMSGroup(org.bukkit.inventory.EquipmentSlotGroup slot) {
|
|
return EquipmentSlotGroup.valueOf(slot.toString().toUpperCase(Locale.ROOT));
|
|
}
|
|
|
|
public static EquipmentSlot getHand(InteractionHand enumhand) {
|
|
return (enumhand == InteractionHand.MAIN_HAND) ? EquipmentSlot.HAND : EquipmentSlot.OFF_HAND;
|
|
}
|
|
|
|
public static InteractionHand getHand(EquipmentSlot hand) {
|
|
if (hand == EquipmentSlot.HAND) {
|
|
return InteractionHand.MAIN_HAND;
|
|
} else if (hand == EquipmentSlot.OFF_HAND) {
|
|
return InteractionHand.OFF_HAND;
|
|
}
|
|
|
|
throw new IllegalArgumentException("EquipmentSlot." + hand + " is not a hand");
|
|
}
|
|
}
|