Enum Class EquipmentSlot

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

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

Each equipment slot has a type, which represents what inventory category it is contained within. The HAND category covers the mainhand and offhand slots, while the ARMOR category covers the 4 types of armor slots found in LivingEntity.

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

An equipment slot 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 entity's inventory slot pointed at by the target slot.

Mappings:
Namespace Name
official biv
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 Lbiv;a:Lbiv;
      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 Lbiv;b:Lbiv;
      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 Lbiv;c:Lbiv;
      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 Lbiv;d:Lbiv;
      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 Lbiv;e:Lbiv;
      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

    • CODEC

      public static final StringIdentifiable.EnumCodec<EquipmentSlot> CODEC
      Mappings:
      Namespace Name Mixin selector
      official g Lbiv;g:Lasp$a;
      intermediary field_45739 Lnet/minecraft/class_1304;field_45739:Lnet/minecraft/class_3542$class_7292;
      named CODEC Lnet/minecraft/entity/EquipmentSlot;CODEC:Lnet/minecraft/util/StringIdentifiable$EnumCodec;
    • type

      private final EquipmentSlot.Type type
      Mappings:
      Namespace Name Mixin selector
      official h Lbiv;h:Lbiv$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 i Lbiv;i: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 j Lbiv;j: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 k Lbiv;k: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> Lbiv;<init>(Ljava/lang/String;ILbiv$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 slot targets.

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

      Returns:
      the target EquipmentSlot.Type that this slot targets
      Mappings:
      Namespace Name Mixin selector
      official a Lbiv;a()Lbiv$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 slot should occupy.

      In the case of MAINHAND and OFFHAND, this method will return 0 and 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 a slot relative to the offset index of an entire inventory, visit getOffsetEntitySlotId(int).

      Returns:
      the index of the inventory slot this slot should occupy
      Mappings:
      Namespace Name Mixin selector
      official b Lbiv;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 slot should occupy, plus the passed in offset amount.
      Returns:
      the index of the inventory slot this slot should occupy, plus the passed in offset amount
      Mappings:
      Namespace Name Mixin selector
      official a Lbiv;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 slot occupies in an ArmorStandEntity.
      Returns:
      the index of the inventory slot this slot occupies in an ArmorStandEntity
      Mappings:
      Namespace Name Mixin selector
      official d Lbiv;d()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 equipment slot.

      The returned value will be a lower-case string (such as "chest" for CHEST).

      Returns:
      the unique name of this equipment slot
      Mappings:
      Namespace Name Mixin selector
      official e Lbiv;e()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;
    • isArmorSlot

      public boolean isArmorSlot()
      Mappings:
      Namespace Name Mixin selector
      official f Lbiv;f()Z
      intermediary method_46643 Lnet/minecraft/class_1304;method_46643()Z
      named isArmorSlot Lnet/minecraft/entity/EquipmentSlot;isArmorSlot()Z
    • asString

      public String asString()
      Returns the unique string representation of the enum, used for serialization.
      Specified by:
      asString in interface StringIdentifiable
      Returns:
      the unique string representation of the enum, used for serialization
      Mappings:
      Namespace Name Mixin selector
      official c Lasp;c()Ljava/lang/String;
      intermediary method_15434 Lnet/minecraft/class_3542;method_15434()Ljava/lang/String;
      named asString Lnet/minecraft/util/StringIdentifiable;asString()Ljava/lang/String;
    • byName

      public static EquipmentSlot byName(String name)
      Returns the slot where the name is equal to name. If no slot matching the input name is found, this throws IllegalArgumentException.
      Returns:
      the slot where the name is equal to name
      Throws:
      IllegalArgumentException - if no slot type could be found matching name
      Mappings:
      Namespace Name Mixin selector
      official a Lbiv;a(Ljava/lang/String;)Lbiv;
      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 equipment slot where the slot ID is equal to index and the type of the slot is equal to type. If no slot could be found matching the input type and index, throws IllegalArgumentException.
      Returns:
      the equipment slot where the slot ID is equal to index and the type of the slot is equal to type
      Throws:
      IllegalArgumentException - if no slot type could be found matching type and index
      Mappings:
      Namespace Name Mixin selector
      official a Lbiv;a(Lbiv$a;I)Lbiv;
      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;