Package org.moddingx.libx.inventory
Class BaseItemStackHandler
java.lang.Object
net.neoforged.neoforge.items.ItemStackHandler
org.moddingx.libx.inventory.BaseItemStackHandler
- All Implemented Interfaces:
net.neoforged.neoforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>
,net.neoforged.neoforge.items.IItemHandler
,net.neoforged.neoforge.items.IItemHandlerModifiable
,IAdvancedItemHandler
,IAdvancedItemHandlerModifiable
public class BaseItemStackHandler
extends net.neoforged.neoforge.items.ItemStackHandler
implements IAdvancedItemHandlerModifiable
An
ItemStackHandler
that can be configured with common things required for many inventories.
To get a BaseItemStackHandler, use builder(int)
.-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from class net.neoforged.neoforge.items.ItemStackHandler
stacks
-
Method Summary
Modifier and TypeMethodDescriptionstatic BaseItemStackHandler.Builder
builder
(int size) Creates a newBaseItemStackHandler.Builder
for an item handler with the given size.net.minecraft.world.item.ItemStack
extractItem
(int slot, int amount, boolean simulate) int
getSlotLimit
(int slot) Gets an item handler that wraps around this item handler but has no checks on which items are valid for a slot.boolean
hasSpaceFor
(List<net.minecraft.world.item.ItemStack> stacks, int startInclusive, int endExclusive) Gets whether the item handler has space for all the items given.net.minecraft.world.item.ItemStack
insertItem
(int slot, net.minecraft.world.item.ItemStack stack, boolean simulate) boolean
isItemValid
(int slot, net.minecraft.world.item.ItemStack stack) void
onContentsChanged
(int slot) protected void
onLoad()
net.minecraft.world.Container
Gets a vanilla container that wraps around this item handler.Methods inherited from class net.neoforged.neoforge.items.ItemStackHandler
deserializeNBT, getSlots, getStackInSlot, getStackLimit, serializeNBT, setSize, setStackInSlot, validateSlotIndex
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.moddingx.libx.inventory.IAdvancedItemHandler
extractItem, extractItem, hasSpaceFor, insertItem
Methods inherited from interface org.moddingx.libx.inventory.IAdvancedItemHandlerModifiable
clear, clear
Methods inherited from interface net.neoforged.neoforge.items.IItemHandler
getSlots, getStackInSlot
Methods inherited from interface net.neoforged.neoforge.items.IItemHandlerModifiable
setStackInSlot
-
Method Details
-
insertItem
@Nonnull public net.minecraft.world.item.ItemStack insertItem(int slot, @Nonnull net.minecraft.world.item.ItemStack stack, boolean simulate) - Specified by:
insertItem
in interfacenet.neoforged.neoforge.items.IItemHandler
- Overrides:
insertItem
in classnet.neoforged.neoforge.items.ItemStackHandler
-
extractItem
@Nonnull public net.minecraft.world.item.ItemStack extractItem(int slot, int amount, boolean simulate) - Specified by:
extractItem
in interfacenet.neoforged.neoforge.items.IItemHandler
- Overrides:
extractItem
in classnet.neoforged.neoforge.items.ItemStackHandler
-
getSlotLimit
public int getSlotLimit(int slot) - Specified by:
getSlotLimit
in interfacenet.neoforged.neoforge.items.IItemHandler
- Overrides:
getSlotLimit
in classnet.neoforged.neoforge.items.ItemStackHandler
-
isItemValid
- Specified by:
isItemValid
in interfacenet.neoforged.neoforge.items.IItemHandler
- Overrides:
isItemValid
in classnet.neoforged.neoforge.items.ItemStackHandler
-
onContentsChanged
public void onContentsChanged(int slot) - Overrides:
onContentsChanged
in classnet.neoforged.neoforge.items.ItemStackHandler
-
onLoad
protected void onLoad()- Overrides:
onLoad
in classnet.neoforged.neoforge.items.ItemStackHandler
-
hasSpaceFor
public boolean hasSpaceFor(List<net.minecraft.world.item.ItemStack> stacks, int startInclusive, int endExclusive) Description copied from interface:IAdvancedItemHandler
Gets whether the item handler has space for all the items given. This does not check whether the item handler can take the stacks viaIItemHandler.insertItem(int, ItemStack, boolean)
. However it checks forIItemHandler.isItemValid(int, ItemStack)
.- Specified by:
hasSpaceFor
in interfaceIAdvancedItemHandler
- Parameters:
startInclusive
- The first slot to test.endExclusive
- The first slot to after the range of slots to test.
-
toVanilla
public net.minecraft.world.Container toVanilla()Gets a vanilla container that wraps around this item handler. -
getUnrestricted
Gets an item handler that wraps around this item handler but has no checks on which items are valid for a slot. -
builder
Creates a newBaseItemStackHandler.Builder
for an item handler with the given size.
-