Class DoubleInventory
It is possible to nest this inventory to create triple or quadruple inventories.
- Mappings:
Namespace Name named net/minecraft/inventory/DoubleInventory
intermediary net/minecraft/class_1258
official bqi
-
Field Summary
Fields inherited from interface net.minecraft.inventory.Inventory
DEFAULT_MAX_INTERACTION_RANGE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
canPlayerUse
(PlayerEntity player) Returns whetherplayer
can use this inventory.void
clear()
int
Returns the maximum number of items a stack can contain when placed inside this inventory.getStack
(int slot) Returns the stack currently stored atslot
.boolean
isEmpty()
Returns whether the inventory consists entirely of empty item stacks.boolean
Returns whetherinventory
is part of the combined inventory.boolean
Returns whetherstack
is valid for theslot
.void
Marks the inventory as modified.void
onClose
(PlayerEntity player) Called when the inventory is closed.void
onOpen
(PlayerEntity player) Called when the inventory is opened.removeStack
(int slot) Removes the stack currently stored atslot
.removeStack
(int slot, int amount) Removes a specific number of items fromslot
.void
Sets the stack stored atslot
tostack
.int
size()
Returns the size of the inventory.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.minecraft.inventory.Inventory
canTransferTo, containsAny, containsAny, count, getMaxCount
-
Field Details
-
first
- Mappings:
Namespace Name Mixin selector named first
Lnet/minecraft/inventory/DoubleInventory;first:Lnet/minecraft/inventory/Inventory;
intermediary field_5769
Lnet/minecraft/class_1258;field_5769:Lnet/minecraft/class_1263;
official b
Lbqi;b:Lbqj;
-
second
- Mappings:
Namespace Name Mixin selector named second
Lnet/minecraft/inventory/DoubleInventory;second:Lnet/minecraft/inventory/Inventory;
intermediary field_5771
Lnet/minecraft/class_1258;field_5771:Lnet/minecraft/class_1263;
official c
Lbqi;c:Lbqj;
-
-
Constructor Details
-
DoubleInventory
- Mappings:
Namespace Name Mixin selector named <init>
Lnet/minecraft/inventory/DoubleInventory;<init>(Lnet/minecraft/inventory/Inventory;Lnet/minecraft/inventory/Inventory;)V
intermediary <init>
Lnet/minecraft/class_1258;<init>(Lnet/minecraft/class_1263;Lnet/minecraft/class_1263;)V
official <init>
Lbqi;<init>(Lbqj;Lbqj;)V
-
-
Method Details
-
size
public int size()Returns the size of the inventory.The inventory should support the slot ID from
0
tosize() - 1
. This should remain constant throughout the inventory's lifetime. -
isEmpty
public boolean isEmpty()Returns whether the inventory consists entirely of empty item stacks.- Specified by:
isEmpty
in interfaceInventory
- Returns:
- whether the inventory consists entirely of empty item stacks
- Mappings:
Namespace Name Mixin selector named isEmpty
Lnet/minecraft/inventory/Inventory;isEmpty()Z
intermediary method_5442
Lnet/minecraft/class_1263;method_5442()Z
official c
Lbqj;c()Z
-
isPart
Returns whetherinventory
is part of the combined inventory.- Returns:
- whether
inventory
is part of the combined inventory - Mappings:
Namespace Name Mixin selector named isPart
Lnet/minecraft/inventory/DoubleInventory;isPart(Lnet/minecraft/inventory/Inventory;)Z
intermediary method_5405
Lnet/minecraft/class_1258;method_5405(Lnet/minecraft/class_1263;)Z
official a
Lbqi;a(Lbqj;)Z
-
getStack
Returns the stack currently stored atslot
.If the slot is empty, or is outside the bounds of this inventory, this returns
ItemStack.EMPTY
.- Specified by:
getStack
in interfaceInventory
- Returns:
- the stack currently stored at
slot
- Mappings:
Namespace Name Mixin selector named getStack
Lnet/minecraft/inventory/Inventory;getStack(I)Lnet/minecraft/item/ItemStack;
intermediary method_5438
Lnet/minecraft/class_1263;method_5438(I)Lnet/minecraft/class_1799;
official a
Lbqj;a(I)Lcuo;
-
removeStack
Removes a specific number of items fromslot
.- Specified by:
removeStack
in interfaceInventory
- Returns:
- the removed items as a stack
- Mappings:
Namespace Name Mixin selector named removeStack
Lnet/minecraft/inventory/Inventory;removeStack(II)Lnet/minecraft/item/ItemStack;
intermediary method_5434
Lnet/minecraft/class_1263;method_5434(II)Lnet/minecraft/class_1799;
official a
Lbqj;a(II)Lcuo;
-
removeStack
Removes the stack currently stored atslot
.- Specified by:
removeStack
in interfaceInventory
- Returns:
- the stack previously stored at the indicated slot
- Mappings:
Namespace Name Mixin selector named removeStack
Lnet/minecraft/inventory/Inventory;removeStack(I)Lnet/minecraft/item/ItemStack;
intermediary method_5441
Lnet/minecraft/class_1263;method_5441(I)Lnet/minecraft/class_1799;
official b
Lbqj;b(I)Lcuo;
-
setStack
Sets the stack stored atslot
tostack
. -
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 interfaceInventory
- Returns:
- the maximum number of items a stack can contain when placed inside this inventory
- Mappings:
Namespace Name Mixin selector named getMaxCountPerStack
Lnet/minecraft/inventory/Inventory;getMaxCountPerStack()I
intermediary method_5444
Lnet/minecraft/class_1263;method_5444()I
official ah_
Lbqj;ah_()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 interfaceInventory
- See Also:
- API Note:
- Implementations should mark the inventory for synchronization or
saving in this method. Since this is called frequently, it is not recommended to
synchronize or save the inventory directly in this method. If this inventory is
implemented in a block entity, then it should always call
super.markDirty();
to ensure the block entity gets saved. - Mappings:
Namespace Name Mixin selector named markDirty
Lnet/minecraft/inventory/Inventory;markDirty()V
intermediary method_5431
Lnet/minecraft/class_1263;method_5431()V
official e
Lbqj;e()V
-
canPlayerUse
Returns whetherplayer
can use this inventory.This is called by
ScreenHandler.canUse(net.minecraft.screen.ScreenHandlerContext, net.minecraft.entity.player.PlayerEntity, net.minecraft.block.Block)
.- Specified by:
canPlayerUse
in interfaceInventory
- Returns:
- whether
player
can use this inventory - See Also:
- API Note:
- Implementations should check the distance between the inventory
holder and
player
. For convenience, this interface offers two methods used by block entities to implement this check. - Mappings:
Namespace Name Mixin selector named canPlayerUse
Lnet/minecraft/inventory/Inventory;canPlayerUse(Lnet/minecraft/entity/player/PlayerEntity;)Z
intermediary method_5443
Lnet/minecraft/class_1263;method_5443(Lnet/minecraft/class_1657;)Z
official a
Lbqj;a(Lcmv;)Z
-
onOpen
Called when the inventory is opened. Specifically, this is called inside theScreenHandler
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 interfaceInventory
- Mappings:
Namespace Name Mixin selector named onOpen
Lnet/minecraft/inventory/Inventory;onOpen(Lnet/minecraft/entity/player/PlayerEntity;)V
intermediary method_5435
Lnet/minecraft/class_1263;method_5435(Lnet/minecraft/class_1657;)V
official d_
Lbqj;d_(Lcmv;)V
-
onClose
Called when the inventory is closed. Specifically, this is called insideScreenHandler.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 interfaceInventory
- Mappings:
Namespace Name Mixin selector named onClose
Lnet/minecraft/inventory/Inventory;onClose(Lnet/minecraft/entity/player/PlayerEntity;)V
intermediary method_5432
Lnet/minecraft/class_1263;method_5432(Lnet/minecraft/class_1657;)V
official c
Lbqj;c(Lcmv;)V
-
isValid
Returns whetherstack
is valid for theslot
.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 interfaceInventory
- Returns:
- whether
stack
is valid for theslot
- Mappings:
Namespace Name Mixin selector named isValid
Lnet/minecraft/inventory/Inventory;isValid(ILnet/minecraft/item/ItemStack;)Z
intermediary method_5437
Lnet/minecraft/class_1263;method_5437(ILnet/minecraft/class_1799;)Z
official b
Lbqj;b(ILcuo;)Z
-
clear
public void clear()
-