Enum Class EquipmentSlot

java.lang.Object
java.lang.Enum<EquipmentSlot>
net.minecraft.entity.EquipmentSlot
All Implemented Interfaces:
Serializable, Comparable<EquipmentSlot>, Constable

public enum EquipmentSlot extends Enum<EquipmentSlot>
Provides enum types for several key slots found within an entity Inventory.

Each EquipmentSlot has a type, which represents what inventory category it is contained within. The HAND category covers the mainhand invalid input: '&' offhand slots, while the ARMOR category covers the 4 types of armor slots found in LivingEntity.

Each EquipmentSlot contains information on where that slot should be located within a parent Inventory. getEntitySlotId() will provide the base slot index an EquipmentSlot should occupy (starting from 0), while getOffsetEntitySlotId(int) will return the same value added to an offset index.

EquipmentSlot can be used to quickly access the item held by an inventory slot in a LivingEntity through methods such as LivingEntity.getEquippedStack(EquipmentSlot), which will return the ItemStack held in the LivingEntity's inventory slot pointed at by the target EquipmentSlot.

Mappings:
Namespace Name
official bdd
intermediary net/minecraft/class_1304
named net/minecraft/entity/EquipmentSlot
  • Enum Constant Details

    • MAINHAND

      public static final EquipmentSlot MAINHAND
      Mappings:
      Namespace Name Mixin selector
      official a Lbdd;a:Lbdd;
      intermediary field_6173 Lnet/minecraft/class_1304;field_6173:Lnet/minecraft/class_1304;
      named MAINHAND Lnet/minecraft/entity/EquipmentSlot;MAINHAND:Lnet/minecraft/entity/EquipmentSlot;
    • OFFHAND

      public static final EquipmentSlot OFFHAND
      Mappings:
      Namespace Name Mixin selector
      official b Lbdd;b:Lbdd;
      intermediary field_6171 Lnet/minecraft/class_1304;field_6171:Lnet/minecraft/class_1304;
      named OFFHAND Lnet/minecraft/entity/EquipmentSlot;OFFHAND:Lnet/minecraft/entity/EquipmentSlot;
    • FEET

      public static final EquipmentSlot FEET
      Mappings:
      Namespace Name Mixin selector
      official c Lbdd;c:Lbdd;
      intermediary field_6166 Lnet/minecraft/class_1304;field_6166:Lnet/minecraft/class_1304;
      named FEET Lnet/minecraft/entity/EquipmentSlot;FEET:Lnet/minecraft/entity/EquipmentSlot;
    • LEGS

      public static final EquipmentSlot LEGS
      Mappings:
      Namespace Name Mixin selector
      official d Lbdd;d:Lbdd;
      intermediary field_6172 Lnet/minecraft/class_1304;field_6172:Lnet/minecraft/class_1304;
      named LEGS Lnet/minecraft/entity/EquipmentSlot;LEGS:Lnet/minecraft/entity/EquipmentSlot;
    • CHEST

      public static final EquipmentSlot CHEST
      Mappings:
      Namespace Name Mixin selector
      official e Lbdd;e:Lbdd;
      intermediary field_6174 Lnet/minecraft/class_1304;field_6174:Lnet/minecraft/class_1304;
      named CHEST Lnet/minecraft/entity/EquipmentSlot;CHEST:Lnet/minecraft/entity/EquipmentSlot;
  • Field Details

    • type

      private final EquipmentSlot.Type type
      Mappings:
      Namespace Name Mixin selector
      official g Lbdd;g:Lbdd$a;
      intermediary field_6170 Lnet/minecraft/class_1304;field_6170:Lnet/minecraft/class_1304$class_1305;
      named type Lnet/minecraft/entity/EquipmentSlot;type:Lnet/minecraft/entity/EquipmentSlot$Type;
    • entityId

      private final int entityId
      Mappings:
      Namespace Name Mixin selector
      official h Lbdd;h:I
      intermediary field_6168 Lnet/minecraft/class_1304;field_6168:I
      named entityId Lnet/minecraft/entity/EquipmentSlot;entityId:I
    • armorStandId

      private final int armorStandId
      Mappings:
      Namespace Name Mixin selector
      official i Lbdd;i:I
      intermediary field_6167 Lnet/minecraft/class_1304;field_6167:I
      named armorStandId Lnet/minecraft/entity/EquipmentSlot;armorStandId:I
    • name

      private final String name
      Mappings:
      Namespace Name Mixin selector
      official j Lbdd;j:Ljava/lang/String;
      intermediary field_6175 Lnet/minecraft/class_1304;field_6175:Ljava/lang/String;
      named name Lnet/minecraft/entity/EquipmentSlot;name:Ljava/lang/String;
  • Constructor Details

    • EquipmentSlot

      private EquipmentSlot(EquipmentSlot.Type type, int entityId, int armorStandId, String name)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lbdd;<init>(Ljava/lang/String;ILbdd$a;IILjava/lang/String;)V
      intermediary <init> Lnet/minecraft/class_1304;<init>(Ljava/lang/String;ILnet/minecraft/class_1304$class_1305;IILjava/lang/String;)V
      named <init> Lnet/minecraft/entity/EquipmentSlot;<init>(Ljava/lang/String;ILnet/minecraft/entity/EquipmentSlot$Type;IILjava/lang/String;)V
  • Method Details

    • values

      public static EquipmentSlot[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static EquipmentSlot valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • getType

      public EquipmentSlot.Type getType()
      Returns the target EquipmentSlot.Type that this EquipmentSlot targets.

      An EquipmentSlot either targets the hand or body type, which can be used to determine whether a request to manipulate EquipmentSlot data on an entity should be applied to an armor inventory or general item inventory.

      Returns:
      the target EquipmentSlot.Type (hand or armor) of this EquipmentSlot
      Mappings:
      Namespace Name Mixin selector
      official a Lbdd;a()Lbdd$a;
      intermediary method_5925 Lnet/minecraft/class_1304;method_5925()Lnet/minecraft/class_1304$class_1305;
      named getType Lnet/minecraft/entity/EquipmentSlot;getType()Lnet/minecraft/entity/EquipmentSlot$Type;
    • getEntitySlotId

      public int getEntitySlotId()
      Returns the index of the inventory slot this EquipmentSlot should occupy.

      In the case of MAINHAND and OFFHAND, this method will return 0 invalid input: '&' 1, respectively. The remaining armor slots re-start at index 0 and end at index 3.

      To calculate the target index of an inventory slot for an EquipmentSlot relative to the offset index of an entire inventory, visit getOffsetEntitySlotId(int).

      Returns:
      index of the inventory slot this EquipmentSlot should occupy
      Mappings:
      Namespace Name Mixin selector
      official b Lbdd;b()I
      intermediary method_5927 Lnet/minecraft/class_1304;method_5927()I
      named getEntitySlotId Lnet/minecraft/entity/EquipmentSlot;getEntitySlotId()I
    • getOffsetEntitySlotId

      public int getOffsetEntitySlotId(int offset)
      Returns:
      the index of the inventory slot this EquipmentSlot should occupy, plus the passed in offset amount.
      Mappings:
      Namespace Name Mixin selector
      official a Lbdd;a(I)I
      intermediary method_32320 Lnet/minecraft/class_1304;method_32320(I)I
      named getOffsetEntitySlotId Lnet/minecraft/entity/EquipmentSlot;getOffsetEntitySlotId(I)I
    • getArmorStandSlotId

      public int getArmorStandSlotId()
      Returns:
      the index of the inventory slot this EquipmentSlot occupies in an ArmorStandEntity
      Mappings:
      Namespace Name Mixin selector
      official c Lbdd;c()I
      intermediary method_5926 Lnet/minecraft/class_1304;method_5926()I
      named getArmorStandSlotId Lnet/minecraft/entity/EquipmentSlot;getArmorStandSlotId()I
    • getName

      public String getName()
      Returns the unique name of this EquipmentSlot. The returned value will be a lower-case string (such as "chest" for CHEST).
      Returns:
      the lower-case name of this EquipmentSlot
      Mappings:
      Namespace Name Mixin selector
      official d Lbdd;d()Ljava/lang/String;
      intermediary method_5923 Lnet/minecraft/class_1304;method_5923()Ljava/lang/String;
      named getName Lnet/minecraft/entity/EquipmentSlot;getName()Ljava/lang/String;
    • byName

      public static EquipmentSlot byName(String name)
      Returns the EquipmentSlot where getName() is equal to name. If no EquipmentSlot could be found matching the input name, throws IllegalArgumentException.
      Returns:
      an EquipmentSlot where getName() equals name
      Throws:
      IllegalArgumentException - if no slot type could be found matching name
      Mappings:
      Namespace Name Mixin selector
      official a Lbdd;a(Ljava/lang/String;)Lbdd;
      intermediary method_5924 Lnet/minecraft/class_1304;method_5924(Ljava/lang/String;)Lnet/minecraft/class_1304;
      named byName Lnet/minecraft/entity/EquipmentSlot;byName(Ljava/lang/String;)Lnet/minecraft/entity/EquipmentSlot;
    • fromTypeIndex

      public static EquipmentSlot fromTypeIndex(EquipmentSlot.Type type, int index)
      Returns the EquipmentSlot where getEntitySlotId() is equal to index and the type of the slot is equal to type. If no EquipmentSlot could be found matching the input type and index, throws IllegalArgumentException.
      Returns:
      an EquipmentSlot matching the given type and inventory index
      Throws:
      IllegalArgumentException - if no slot type could be found matching type and index
      Mappings:
      Namespace Name Mixin selector
      official a Lbdd;a(Lbdd$a;I)Lbdd;
      intermediary method_20234 Lnet/minecraft/class_1304;method_20234(Lnet/minecraft/class_1304$class_1305;I)Lnet/minecraft/class_1304;
      named fromTypeIndex Lnet/minecraft/entity/EquipmentSlot;fromTypeIndex(Lnet/minecraft/entity/EquipmentSlot$Type;I)Lnet/minecraft/entity/EquipmentSlot;