Class DoubleInventory

java.lang.Object
net.minecraft.inventory.DoubleInventory
All Implemented Interfaces:
Inventory, Clearable

public class DoubleInventory extends Object implements Inventory
Represents a combined inventory that is backed by two inventories. This is used by double chests.

It is possible to nest this inventory to create triple or quadruple inventories.

Mappings:
Namespace Name
official bgq
intermediary net/minecraft/class_1258
named net/minecraft/inventory/DoubleInventory
  • Field Details

    • first

      private final Inventory first
      Mappings:
      Namespace Name Mixin selector
      official c Lbgq;c:Lbgr;
      intermediary field_5769 Lnet/minecraft/class_1258;field_5769:Lnet/minecraft/class_1263;
      named first Lnet/minecraft/inventory/DoubleInventory;first:Lnet/minecraft/inventory/Inventory;
    • second

      private final Inventory second
      Mappings:
      Namespace Name Mixin selector
      official d Lbgq;d:Lbgr;
      intermediary field_5771 Lnet/minecraft/class_1258;field_5771:Lnet/minecraft/class_1263;
      named second Lnet/minecraft/inventory/DoubleInventory;second:Lnet/minecraft/inventory/Inventory;
  • Constructor Details

    • DoubleInventory

      public DoubleInventory(Inventory first, Inventory second)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lbgq;<init>(Lbgr;Lbgr;)V
      intermediary <init> Lnet/minecraft/class_1258;<init>(Lnet/minecraft/class_1263;Lnet/minecraft/class_1263;)V
      named <init> Lnet/minecraft/inventory/DoubleInventory;<init>(Lnet/minecraft/inventory/Inventory;Lnet/minecraft/inventory/Inventory;)V
  • Method Details

    • size

      public int size()
      Returns the size of the inventory.

      The inventory should support the slot ID from 0 to size() - 1. This should remain constant throughout the inventory's lifetime.

      Specified by:
      size in interface Inventory
      Returns:
      the size of the inventory
      Mappings:
      Namespace Name Mixin selector
      official b Lbgr;b()I
      intermediary method_5439 Lnet/minecraft/class_1263;method_5439()I
      named size Lnet/minecraft/inventory/Inventory;size()I
    • isEmpty

      public boolean isEmpty()
      Returns whether the inventory consists entirely of empty item stacks.
      Specified by:
      isEmpty in interface Inventory
      Returns:
      whether the inventory consists entirely of empty item stacks
      Mappings:
      Namespace Name Mixin selector
      official af_ Lbgr;af_()Z
      intermediary method_5442 Lnet/minecraft/class_1263;method_5442()Z
      named isEmpty Lnet/minecraft/inventory/Inventory;isEmpty()Z
    • isPart

      public boolean isPart(Inventory inventory)
      Returns whether inventory is part of the combined inventory.
      Returns:
      whether inventory is part of the combined inventory
      Mappings:
      Namespace Name Mixin selector
      official a Lbgq;a(Lbgr;)Z
      intermediary method_5405 Lnet/minecraft/class_1258;method_5405(Lnet/minecraft/class_1263;)Z
      named isPart Lnet/minecraft/inventory/DoubleInventory;isPart(Lnet/minecraft/inventory/Inventory;)Z
    • getStack

      public ItemStack getStack(int slot)
      Returns the stack currently stored at slot.

      If the slot is empty, or is outside the bounds of this inventory, this returns ItemStack.EMPTY.

      Specified by:
      getStack in interface Inventory
      Returns:
      the stack currently stored at slot
      Mappings:
      Namespace Name Mixin selector
      official a Lbgr;a(I)Lcjf;
      intermediary method_5438 Lnet/minecraft/class_1263;method_5438(I)Lnet/minecraft/class_1799;
      named getStack Lnet/minecraft/inventory/Inventory;getStack(I)Lnet/minecraft/item/ItemStack;
    • removeStack

      public ItemStack removeStack(int slot, int amount)
      Removes a specific number of items from slot.
      Specified by:
      removeStack in interface Inventory
      Returns:
      the removed items as a stack
      Mappings:
      Namespace Name Mixin selector
      official a Lbgr;a(II)Lcjf;
      intermediary method_5434 Lnet/minecraft/class_1263;method_5434(II)Lnet/minecraft/class_1799;
      named removeStack Lnet/minecraft/inventory/Inventory;removeStack(II)Lnet/minecraft/item/ItemStack;
    • removeStack

      public ItemStack removeStack(int slot)
      Removes the stack currently stored at slot.
      Specified by:
      removeStack in interface Inventory
      Returns:
      the stack previously stored at the indicated slot
      Mappings:
      Namespace Name Mixin selector
      official b Lbgr;b(I)Lcjf;
      intermediary method_5441 Lnet/minecraft/class_1263;method_5441(I)Lnet/minecraft/class_1799;
      named removeStack Lnet/minecraft/inventory/Inventory;removeStack(I)Lnet/minecraft/item/ItemStack;
    • setStack

      public void setStack(int slot, ItemStack stack)
      Sets the stack stored at slot to stack.
      Specified by:
      setStack in interface Inventory
      Mappings:
      Namespace Name Mixin selector
      official a Lbgr;a(ILcjf;)V
      intermediary method_5447 Lnet/minecraft/class_1263;method_5447(ILnet/minecraft/class_1799;)V
      named setStack Lnet/minecraft/inventory/Inventory;setStack(ILnet/minecraft/item/ItemStack;)V
    • getMaxCountPerStack

      public int getMaxCountPerStack()
      Returns the maximum number of items a stack can contain when placed inside this inventory.

      No slots may have more than this number of items. It is effectively the stacking limit for this inventory's slots.

      Specified by:
      getMaxCountPerStack in interface Inventory
      Returns:
      the maximum number of items a stack can contain when placed inside this inventory
      Mappings:
      Namespace Name Mixin selector
      official ag_ Lbgr;ag_()I
      intermediary method_5444 Lnet/minecraft/class_1263;method_5444()I
      named getMaxCountPerStack Lnet/minecraft/inventory/Inventory;getMaxCountPerStack()I
    • markDirty

      public void markDirty()
      Marks the inventory as modified. Implementations should call this method every time the inventory is changed in any way.
      Specified by:
      markDirty in interface Inventory
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official e Lbgr;e()V
      intermediary method_5431 Lnet/minecraft/class_1263;method_5431()V
      named markDirty Lnet/minecraft/inventory/Inventory;markDirty()V
    • canPlayerUse

      public boolean canPlayerUse(PlayerEntity player)
      Specified by:
      canPlayerUse in interface Inventory
      Returns:
      whether player can use this inventory
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lbgr;a(Lcbu;)Z
      intermediary method_5443 Lnet/minecraft/class_1263;method_5443(Lnet/minecraft/class_1657;)Z
      named canPlayerUse Lnet/minecraft/inventory/Inventory;canPlayerUse(Lnet/minecraft/entity/player/PlayerEntity;)Z
    • onOpen

      public void onOpen(PlayerEntity player)
      Called when the inventory is opened. Specifically, this is called inside the ScreenHandler constructor. This does nothing by default.

      The method is called in both the client and the server. However, because clientside screen handler is created with a SimpleInventory, other implementations can (and the vanilla code does) assume that the method is called in the server.

      Specified by:
      onOpen in interface Inventory
      Mappings:
      Namespace Name Mixin selector
      official d_ Lbgr;d_(Lcbu;)V
      intermediary method_5435 Lnet/minecraft/class_1263;method_5435(Lnet/minecraft/class_1657;)V
      named onOpen Lnet/minecraft/inventory/Inventory;onOpen(Lnet/minecraft/entity/player/PlayerEntity;)V
    • onClose

      public void onClose(PlayerEntity player)
      Called when the inventory is closed. Specifically, this is called inside ScreenHandler.onClosed(net.minecraft.entity.player.PlayerEntity). This does nothing by default.

      The method is called in both the client and the server. However, because clientside screen handler is created with a SimpleInventory, other implementations can (and the vanilla code does) assume that the method is called in the server.

      Specified by:
      onClose in interface Inventory
      Mappings:
      Namespace Name Mixin selector
      official c Lbgr;c(Lcbu;)V
      intermediary method_5432 Lnet/minecraft/class_1263;method_5432(Lnet/minecraft/class_1657;)V
      named onClose Lnet/minecraft/inventory/Inventory;onClose(Lnet/minecraft/entity/player/PlayerEntity;)V
    • isValid

      public boolean isValid(int slot, ItemStack stack)
      Returns whether stack is valid for the slot.

      Implementations can, for example, use this to check whether the item is in a specific tag. This returns true by default.

      Specified by:
      isValid in interface Inventory
      Returns:
      whether stack is valid for the slot
      Mappings:
      Namespace Name Mixin selector
      official b Lbgr;b(ILcjf;)Z
      intermediary method_5437 Lnet/minecraft/class_1263;method_5437(ILnet/minecraft/class_1799;)Z
      named isValid Lnet/minecraft/inventory/Inventory;isValid(ILnet/minecraft/item/ItemStack;)Z
    • clear

      public void clear()
      Specified by:
      clear in interface Clearable
      Mappings:
      Namespace Name Mixin selector
      official a Lbgp;a()V
      intermediary method_5448 Lnet/minecraft/class_3829;method_5448()V
      named clear Lnet/minecraft/util/Clearable;clear()V