Interface StackReference


public interface StackReference
Represents a reference to a stack that supports getting and setting. Often for command access. Usually obtained from entities.

Screen handlers also use stack references to pass a mutable cursor stack to some methods.

See Also:
Mappings:
Namespace Name
official bnd
intermediary net/minecraft/class_5630
named net/minecraft/inventory/StackReference
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final StackReference
    An immutable empty stack reference.
  • Method Summary

    Modifier and Type
    Method
    Description
    get()
    Gets the current item stack.
    of(LivingEntity entity, EquipmentSlot slot)
    Creates a stack reference backed by an equipment slot of a living entity with no filter, allowing direct manipulation of the equipment slot.
    of(LivingEntity entity, EquipmentSlot slot, Predicate<ItemStack> filter)
    Creates a stack reference backed by an equipment slot of a living entity and guarded by a condition for setting stacks into the inventory.
    of(Inventory inventory, int index)
    Creates a stack reference backed by an index within an inventory.
    of(Inventory inventory, int index, Predicate<ItemStack> stackFilter)
    Creates a stack reference backed by an index within an inventory and guarded by a condition for setting stacks into the inventory.
    boolean
    set(ItemStack stack)
    Sets the stack.
  • Field Details

    • EMPTY

      static final StackReference EMPTY
      An immutable empty stack reference.
      Mappings:
      Namespace Name Mixin selector
      official b Lbnd;b:Lbnd;
      intermediary field_27860 Lnet/minecraft/class_5630;field_27860:Lnet/minecraft/class_5630;
      named EMPTY Lnet/minecraft/inventory/StackReference;EMPTY:Lnet/minecraft/inventory/StackReference;
  • Method Details

    • of

      static StackReference of(Inventory inventory, int index, Predicate<ItemStack> stackFilter)
      Creates a stack reference backed by an index within an inventory and guarded by a condition for setting stacks into the inventory.
      Parameters:
      stackFilter - the condition to guard stack setting
      Mappings:
      Namespace Name Mixin selector
      official a Lbnd;a(Lbju;ILjava/util/function/Predicate;)Lbnd;
      intermediary method_32329 Lnet/minecraft/class_5630;method_32329(Lnet/minecraft/class_1263;ILjava/util/function/Predicate;)Lnet/minecraft/class_5630;
      named of Lnet/minecraft/inventory/StackReference;of(Lnet/minecraft/inventory/Inventory;ILjava/util/function/Predicate;)Lnet/minecraft/inventory/StackReference;
    • of

      static StackReference of(Inventory inventory, int index)
      Creates a stack reference backed by an index within an inventory.
      Mappings:
      Namespace Name Mixin selector
      official a Lbnd;a(Lbju;I)Lbnd;
      intermediary method_32328 Lnet/minecraft/class_5630;method_32328(Lnet/minecraft/class_1263;I)Lnet/minecraft/class_5630;
      named of Lnet/minecraft/inventory/StackReference;of(Lnet/minecraft/inventory/Inventory;I)Lnet/minecraft/inventory/StackReference;
    • of

      static StackReference of(LivingEntity entity, EquipmentSlot slot, Predicate<ItemStack> filter)
      Creates a stack reference backed by an equipment slot of a living entity and guarded by a condition for setting stacks into the inventory.
      Parameters:
      filter - the condition to guard stack setting
      Mappings:
      Namespace Name Mixin selector
      official a Lbnd;a(Lbml;Lbma;Ljava/util/function/Predicate;)Lbnd;
      intermediary method_32331 Lnet/minecraft/class_5630;method_32331(Lnet/minecraft/class_1309;Lnet/minecraft/class_1304;Ljava/util/function/Predicate;)Lnet/minecraft/class_5630;
      named of Lnet/minecraft/inventory/StackReference;of(Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/entity/EquipmentSlot;Ljava/util/function/Predicate;)Lnet/minecraft/inventory/StackReference;
    • of

      static StackReference of(LivingEntity entity, EquipmentSlot slot)
      Creates a stack reference backed by an equipment slot of a living entity with no filter, allowing direct manipulation of the equipment slot.
      Mappings:
      Namespace Name Mixin selector
      official a Lbnd;a(Lbml;Lbma;)Lbnd;
      intermediary method_32330 Lnet/minecraft/class_5630;method_32330(Lnet/minecraft/class_1309;Lnet/minecraft/class_1304;)Lnet/minecraft/class_5630;
      named of Lnet/minecraft/inventory/StackReference;of(Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/entity/EquipmentSlot;)Lnet/minecraft/inventory/StackReference;
    • get

      ItemStack get()
      Gets the current item stack.
      Mappings:
      Namespace Name Mixin selector
      official a Lbnd;a()Lcmy;
      intermediary method_32327 Lnet/minecraft/class_5630;method_32327()Lnet/minecraft/class_1799;
      named get Lnet/minecraft/inventory/StackReference;get()Lnet/minecraft/item/ItemStack;
    • set

      boolean set(ItemStack stack)
      Sets the stack.
      Parameters:
      stack - the item stack to set
      Returns:
      true if the setting is successful, false if rejected
      Mappings:
      Namespace Name Mixin selector
      official a Lbnd;a(Lcmy;)Z
      intermediary method_32332 Lnet/minecraft/class_5630;method_32332(Lnet/minecraft/class_1799;)Z
      named set Lnet/minecraft/inventory/StackReference;set(Lnet/minecraft/item/ItemStack;)Z