Class BaseItemStackHandler
java.lang.Object
net.neoforged.neoforge.transfer.StacksResourceHandler<net.minecraft.world.item.ItemStack, net.neoforged.neoforge.transfer.item.ItemResource>
net.neoforged.neoforge.transfer.item.ItemStacksResourceHandler
org.moddingx.libx.inventory.BaseItemStackHandler
- All Implemented Interfaces:
net.neoforged.neoforge.common.util.ValueIOSerializable, net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>, IAdvancedItemHandler, IAdvancedItemHandlerModifiable
public class BaseItemStackHandler
extends net.neoforged.neoforge.transfer.item.ItemStacksResourceHandler
implements IAdvancedItemHandlerModifiable
An
ItemStacksResourceHandler 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.transfer.StacksResourceHandler
codec, emptyStack, stacks, VALUE_IO_KEY -
Method Summary
Modifier and TypeMethodDescriptionstatic BaseItemStackHandler.Builderbuilder(int size) Creates a newBaseItemStackHandler.Builderfor an item handler with the given size.voiddeserialize(net.minecraft.world.level.storage.ValueInput input) intextract(int index, net.neoforged.neoforge.transfer.item.ItemResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext tx) protected intgetCapacity(int index, net.neoforged.neoforge.transfer.item.ItemResource resource) Gets an item handler that wraps around this item handler but has no checks on which items are valid for a slot.booleanhasSpaceFor(List<net.minecraft.world.item.ItemStack> stacks, int startInclusive, int endExclusive) Gets whether the item handler has space for all the items given.intinsert(int index, net.neoforged.neoforge.transfer.item.ItemResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext tx) booleanisValid(int slot, net.neoforged.neoforge.transfer.item.ItemResource resource) protected voidonContentsChanged(int index, net.minecraft.world.item.ItemStack previousContents) net.minecraft.world.ContainerGets a vanilla container that wraps around this item handler.Methods inherited from class net.neoforged.neoforge.transfer.item.ItemStacksResourceHandler
copyOf, getAmountFrom, getResourceFrom, getStackFrom, matchesMethods inherited from class net.neoforged.neoforge.transfer.StacksResourceHandler
copyToList, getAmountAsLong, getCapacityAsLong, getResource, serialize, set, setStacks, sizeMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface IAdvancedItemHandler
extractItem, extractItem, hasSpaceFor, insertItemMethods inherited from interface IAdvancedItemHandlerModifiable
clear, clear, setMethods inherited from interface net.neoforged.neoforge.transfer.ResourceHandler
extract, getAmountAsInt, getAmountAsLong, getCapacityAsInt, getCapacityAsLong, getResource, insert, size
-
Method Details
-
isValid
public boolean isValid(int slot, net.neoforged.neoforge.transfer.item.ItemResource resource) - Specified by:
isValidin interfacenet.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>- Overrides:
isValidin classnet.neoforged.neoforge.transfer.StacksResourceHandler<net.minecraft.world.item.ItemStack, net.neoforged.neoforge.transfer.item.ItemResource>
-
getCapacity
protected int getCapacity(int index, net.neoforged.neoforge.transfer.item.ItemResource resource) - Overrides:
getCapacityin classnet.neoforged.neoforge.transfer.item.ItemStacksResourceHandler
-
insert
public int insert(int index, @Nonnull net.neoforged.neoforge.transfer.item.ItemResource resource, int amount, @Nonnull net.neoforged.neoforge.transfer.transaction.TransactionContext tx) - Specified by:
insertin interfacenet.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>- Overrides:
insertin classnet.neoforged.neoforge.transfer.StacksResourceHandler<net.minecraft.world.item.ItemStack, net.neoforged.neoforge.transfer.item.ItemResource>
-
extract
public int extract(int index, @Nonnull net.neoforged.neoforge.transfer.item.ItemResource resource, int amount, @Nonnull net.neoforged.neoforge.transfer.transaction.TransactionContext tx) - Specified by:
extractin interfacenet.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>- Overrides:
extractin classnet.neoforged.neoforge.transfer.StacksResourceHandler<net.minecraft.world.item.ItemStack, net.neoforged.neoforge.transfer.item.ItemResource>
-
onContentsChanged
protected void onContentsChanged(int index, @Nonnull net.minecraft.world.item.ItemStack previousContents) - Overrides:
onContentsChangedin classnet.neoforged.neoforge.transfer.StacksResourceHandler<net.minecraft.world.item.ItemStack, net.neoforged.neoforge.transfer.item.ItemResource>
-
deserialize
- Specified by:
deserializein interfacenet.neoforged.neoforge.common.util.ValueIOSerializable- Overrides:
deserializein classnet.neoforged.neoforge.transfer.StacksResourceHandler<net.minecraft.world.item.ItemStack, net.neoforged.neoforge.transfer.item.ItemResource>
-
hasSpaceFor
public boolean hasSpaceFor(List<net.minecraft.world.item.ItemStack> stacks, int startInclusive, int endExclusive) Description copied from interface:IAdvancedItemHandlerGets whether the item handler has space for all the items given.- Specified by:
hasSpaceForin interfaceIAdvancedItemHandler- Parameters:
startInclusive- The first slot to test.endExclusive- The first slot 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.Builderfor an item handler with the given size.
-