Class StackItemResourceHandler
java.lang.Object
net.neoforged.neoforge.transfer.ItemAccessResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
net.neoforged.neoforge.transfer.item.ItemAccessItemHandler
org.moddingx.libx.inventory.StackItemResourceHandler
- All Implemented Interfaces:
net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>, IAdvancedItemHandler, IAdvancedItemHandlerModifiable
public class StackItemResourceHandler
extends net.neoforged.neoforge.transfer.item.ItemAccessItemHandler
implements IAdvancedItemHandlerModifiable
An
IAdvancedItemHandlerModifiable that stores its contents in an ItemContainerContents
data component on the item behind an ItemAccess.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final net.minecraft.core.component.DataComponentType<net.minecraft.world.item.component.ItemContainerContents> static final intThe maximum number of slots such a handler can have, imposed byItemContainerContents.Fields inherited from class net.neoforged.neoforge.transfer.item.ItemAccessItemHandler
component, validItemFields inherited from class net.neoforged.neoforge.transfer.ItemAccessResourceHandler
itemAccess, size -
Constructor Summary
ConstructorsConstructorDescriptionStackItemResourceHandler(int size, net.neoforged.neoforge.transfer.access.ItemAccess itemAccess) Creates a handler backed by the defaultINVENTORY_DATAcomponent.StackItemResourceHandler(int size, net.neoforged.neoforge.transfer.access.ItemAccess itemAccess, net.minecraft.core.component.DataComponentType<net.minecraft.world.item.component.ItemContainerContents> component) Creates a handler backed by a customItemContainerContentscomponent. -
Method Summary
Modifier and TypeMethodDescriptionprotected intgetCapacity(int index, net.neoforged.neoforge.transfer.item.ItemResource resource) voidset(int index, net.neoforged.neoforge.transfer.item.ItemResource resource, int amount) Directly sets a slot to the given resource and amount without a transaction.Methods inherited from class net.neoforged.neoforge.transfer.item.ItemAccessItemHandler
getAmountFrom, getContents, getResourceFrom, getStackFromContents, isValid, updateMethods inherited from class net.neoforged.neoforge.transfer.ItemAccessResourceHandler
extract, getAmountAsLong, getCapacityAsLong, getResource, insert, sizeMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface IAdvancedItemHandler
extractItem, extractItem, hasSpaceFor, hasSpaceFor, insertItemMethods inherited from interface IAdvancedItemHandlerModifiable
clear, clearMethods inherited from interface net.neoforged.neoforge.transfer.ResourceHandler
extract, extract, getAmountAsInt, getAmountAsLong, getCapacityAsInt, getCapacityAsLong, getResource, insert, insert, isValid, size
-
Field Details
-
MAX_SIZE
public static final int MAX_SIZEThe maximum number of slots such a handler can have, imposed byItemContainerContents.- See Also:
-
INVENTORY_DATA
public static final net.minecraft.core.component.DataComponentType<net.minecraft.world.item.component.ItemContainerContents> INVENTORY_DATA
-
-
Constructor Details
-
StackItemResourceHandler
public StackItemResourceHandler(int size, net.neoforged.neoforge.transfer.access.ItemAccess itemAccess) Creates a handler backed by the defaultINVENTORY_DATAcomponent. -
StackItemResourceHandler
public StackItemResourceHandler(int size, net.neoforged.neoforge.transfer.access.ItemAccess itemAccess, net.minecraft.core.component.DataComponentType<net.minecraft.world.item.component.ItemContainerContents> component) Creates a handler backed by a customItemContainerContentscomponent. Use this when an item needs more than one inventory, or an inventory that is not shared with other LibX items.
-
-
Method Details
-
getCapacity
protected int getCapacity(int index, net.neoforged.neoforge.transfer.item.ItemResource resource) - Overrides:
getCapacityin classnet.neoforged.neoforge.transfer.item.ItemAccessItemHandler
-
set
public void set(int index, @Nonnull net.neoforged.neoforge.transfer.item.ItemResource resource, int amount) Description copied from interface:IAdvancedItemHandlerModifiableDirectly sets a slot to the given resource and amount without a transaction.- Specified by:
setin interfaceIAdvancedItemHandlerModifiable
-