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
-
Constructor Summary
Constructors Constructor Description SidedInventoryFixedWrapper(FixedItemInv inv)Creates aSidedInventoryFixedWrapperwith all of it's slots exposed in every direction.SidedInventoryFixedWrapper(FixedItemInv inv, int[][] slotMap) -
Method Summary
Modifier and Type Method Description booleancanExtract(int slot, net.minecraft.item.ItemStack stack, net.minecraft.util.math.Direction dir)booleancanInsert(int slot, net.minecraft.item.ItemStack stack, net.minecraft.util.math.Direction dir)int[]getAvailableSlots(net.minecraft.util.math.Direction dir)protected voidresetSlotsTo(int[][] slotMap)Discards the currentavailableSlotsarray and replaces it with the given slot map.protected voidresetSlotsToAll()Discards the currentavailableSlotsarray 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
-
Constructor Details
-
SidedInventoryFixedWrapper
Creates aSidedInventoryFixedWrapperwith all of it's slots exposed in every direction. -
SidedInventoryFixedWrapper
- Parameters:
inv- TheFixedItemInvto 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 currentavailableSlotsarray and replaces it with one that exposes all slots in every direction. -
resetSlotsTo
protected void resetSlotsTo(int[][] slotMap)Discards the currentavailableSlotsarray 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:
getAvailableSlotsin interfacenet.minecraft.inventory.SidedInventory
-
canInsert
public boolean canInsert(int slot, net.minecraft.item.ItemStack stack, net.minecraft.util.math.Direction dir)- Specified by:
canInsertin interfacenet.minecraft.inventory.SidedInventory
-
canExtract
public boolean canExtract(int slot, net.minecraft.item.ItemStack stack, net.minecraft.util.math.Direction dir)- Specified by:
canExtractin interfacenet.minecraft.inventory.SidedInventory
-