Class SidedInventoryFixedWrapper
java.lang.Object
alexiil.mc.lib.attributes.item.compat.InventoryFixedWrapper
alexiil.mc.lib.attributes.item.compat.SidedInventoryFixedWrapper
- All Implemented Interfaces:
OpenWrapper
,net.minecraft.inventory.Inventory
,net.minecraft.inventory.SidedInventory
,net.minecraft.util.Clearable
public abstract class SidedInventoryFixedWrapper
extends InventoryFixedWrapper
implements net.minecraft.inventory.SidedInventory
A
SidedInventory
that wraps an FixedItemInv
.
One of the Inventory
methods must be overridden by subclasses however:
Inventory.canPlayerUse(PlayerEntity)
.
-
Field Summary
Fields inherited from class alexiil.mc.lib.attributes.item.compat.InventoryFixedWrapper
inv
Fields inherited from interface net.minecraft.inventory.Inventory
MAX_COUNT_PER_STACK
-
Constructor Summary
ConstructorDescriptionCreates aSidedInventoryFixedWrapper
with all of it's slots exposed in every direction.SidedInventoryFixedWrapper
(FixedItemInv inv, int[][] slotMap) -
Method Summary
Modifier and TypeMethodDescriptionboolean
canExtract
(int slot, net.minecraft.item.ItemStack stack, net.minecraft.util.math.Direction dir) boolean
canInsert
(int slot, net.minecraft.item.ItemStack stack, net.minecraft.util.math.Direction dir) int[]
getAvailableSlots
(net.minecraft.util.math.Direction dir) protected void
resetSlotsTo
(int[][] slotMap) Discards the currentavailableSlots
array and replaces it with the given slot map.protected void
Discards the currentavailableSlots
array and replaces it with one that exposes all slots in every direction.Methods inherited from class alexiil.mc.lib.attributes.item.compat.InventoryFixedWrapper
clear, getStack, getWrapped, isEmpty, isValid, markDirty, removeStack, removeStack, setStack, size, softSetInvStack
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.minecraft.util.Clearable
clear
Methods inherited from interface net.minecraft.inventory.Inventory
canPlayerUse, containsAny, count, getMaxCountPerStack, getStack, isEmpty, isValid, markDirty, onClose, onOpen, removeStack, removeStack, setStack, size
-
Constructor Details
-
SidedInventoryFixedWrapper
Creates aSidedInventoryFixedWrapper
with all of it's slots exposed in every direction. -
SidedInventoryFixedWrapper
- Parameters:
inv
- TheFixedItemInv
to wrap.slotMap
- The slots to map. There are 3 different possible lengths you can give for this:- Null or 0: Every slot is available from every direction.
- 6: Every slot is available from the null direction, and the other slots are direct maps for a Direction.ordinal().
- 7: index 0-5 are for their respective
Enum.ordinal()
, and index 6 is for the null direction.
-
-
Method Details
-
resetSlotsToAll
protected void resetSlotsToAll()Discards the currentavailableSlots
array and replaces it with one that exposes all slots in every direction. -
resetSlotsTo
protected void resetSlotsTo(int[][] slotMap) Discards the currentavailableSlots
array and replaces it with the given slot map.- Parameters:
slotMap
- The slots to map. There are 3 different possible lengths you can give for this:- Null or 0: Every slot is available from every direction.
- 6: Every slot is available from the null direction, and the other slots are direct maps for a Direction.ordinal().
- 7: index 0-5 are for their respective
Enum.ordinal()
, and index 6 is for the null direction.
-
getAvailableSlots
public int[] getAvailableSlots(net.minecraft.util.math.Direction dir) - Specified by:
getAvailableSlots
in interfacenet.minecraft.inventory.SidedInventory
-
canInsert
public boolean canInsert(int slot, net.minecraft.item.ItemStack stack, net.minecraft.util.math.Direction dir) - Specified by:
canInsert
in interfacenet.minecraft.inventory.SidedInventory
-
canExtract
public boolean canExtract(int slot, net.minecraft.item.ItemStack stack, net.minecraft.util.math.Direction dir) - Specified by:
canExtract
in interfacenet.minecraft.inventory.SidedInventory
-