Class LodestoneBlockEntityInventory
java.lang.Object
net.neoforged.neoforge.items.ItemStackHandler
team.lodestar.lodestone.systems.blockentity.LodestoneBlockEntityInventory
- All Implemented Interfaces:
net.neoforged.neoforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>,net.neoforged.neoforge.items.IItemHandler,net.neoforged.neoforge.items.IItemHandlerModifiable
public class LodestoneBlockEntityInventory
extends net.neoforged.neoforge.items.ItemStackHandler
A powerful ItemStackHandler designed to work with block entities
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal intbooleanPredicate<net.minecraft.world.item.ItemStack> ArrayList<net.minecraft.world.item.ItemStack> final intFields inherited from class net.neoforged.neoforge.items.ItemStackHandler
stacks -
Constructor Summary
ConstructorsConstructorDescriptionLodestoneBlockEntityInventory(LodestoneBlockEntity blockEntity, int slotCount, int allowedItemSize) -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()voiddumpItems(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos) voiddumpItems(net.minecraft.world.level.Level level, net.minecraft.world.phys.Vec3 pos) net.minecraft.world.item.ItemStackextractItem(net.minecraft.server.level.ServerLevel level, net.minecraft.world.item.ItemStack heldStack, net.minecraft.world.entity.player.Player player) intintintArrayList<net.minecraft.world.item.ItemStack> intgetSlotLimit(int slot) intgetSlots()net.minecraft.core.NonNullList<net.minecraft.world.item.ItemStack> voidgiveItemToPlayer(net.minecraft.world.entity.player.Player playerEntity, net.minecraft.world.item.ItemStack stack, int slot) booleannet.minecraft.world.item.ItemStackinsertItem(net.minecraft.world.item.ItemStack stack) net.minecraft.world.item.ItemStackinsertItem(net.minecraft.world.item.ItemStack stack, boolean simulate) net.minecraft.world.item.ItemStackinteract(net.minecraft.server.level.ServerLevel level, net.minecraft.world.entity.player.Player player, net.minecraft.world.InteractionHand handIn) booleanisEmpty()booleanisItemValid(int slot, net.minecraft.world.item.ItemStack stack) voidload(net.minecraft.core.HolderLookup.Provider provider, net.minecraft.nbt.CompoundTag compound) voidload(net.minecraft.core.HolderLookup.Provider provider, net.minecraft.nbt.CompoundTag compound, String name) voidonContentsChanged(int slot) onContentsChanged(Runnable contentsChangeBehavior) voidsave(net.minecraft.core.HolderLookup.Provider provider, net.minecraft.nbt.CompoundTag compound) voidsave(net.minecraft.core.HolderLookup.Provider provider, net.minecraft.nbt.CompoundTag compound, String name) setInputPredicate(Predicate<net.minecraft.world.item.ItemStack> inputPredicate) net.minecraft.world.item.ItemStacktakeItemFromPlayer(net.minecraft.world.entity.player.Player playerEntity, net.minecraft.world.item.ItemStack stack) voidMethods inherited from class net.neoforged.neoforge.items.ItemStackHandler
deserializeNBT, extractItem, getStackInSlot, getStackLimit, insertItem, onLoad, serializeNBT, setSize, setStackInSlot, validateSlotIndex
-
Field Details
-
blockEntity
-
slotCount
public final int slotCount -
allowedItemSize
public final int allowedItemSize -
inputPredicate
-
contentsChangeBehavior
-
autoSync
public boolean autoSync -
nonEmptyItemStacks
-
-
Constructor Details
-
LodestoneBlockEntityInventory
public LodestoneBlockEntityInventory(LodestoneBlockEntity blockEntity, int slotCount, int allowedItemSize)
-
-
Method Details
-
setInputPredicate
public LodestoneBlockEntityInventory setInputPredicate(Predicate<net.minecraft.world.item.ItemStack> inputPredicate) -
onContentsChanged
-
triggerBlockEntityUpdate
-
getStacks
public net.minecraft.core.NonNullList<net.minecraft.world.item.ItemStack> getStacks() -
getNonEmptyStacks
-
getEmptySlotCount
public int getEmptySlotCount() -
getFilledSlotCount
public int getFilledSlotCount() -
hasEmptySlots
public boolean hasEmptySlots() -
getFirstEmptyItemIndex
public int getFirstEmptyItemIndex() -
isEmpty
public boolean isEmpty() -
onContentsChanged
public void onContentsChanged(int slot) - Overrides:
onContentsChangedin classnet.neoforged.neoforge.items.ItemStackHandler
-
getSlots
public int getSlots()- Specified by:
getSlotsin interfacenet.neoforged.neoforge.items.IItemHandler- Overrides:
getSlotsin classnet.neoforged.neoforge.items.ItemStackHandler
-
getSlotLimit
public int getSlotLimit(int slot) - Specified by:
getSlotLimitin interfacenet.neoforged.neoforge.items.IItemHandler- Overrides:
getSlotLimitin classnet.neoforged.neoforge.items.ItemStackHandler
-
isItemValid
public boolean isItemValid(int slot, @Nonnull net.minecraft.world.item.ItemStack stack) - Specified by:
isItemValidin interfacenet.neoforged.neoforge.items.IItemHandler- Overrides:
isItemValidin classnet.neoforged.neoforge.items.ItemStackHandler
-
updateInventoryCaches
public void updateInventoryCaches() -
load
public void load(net.minecraft.core.HolderLookup.Provider provider, net.minecraft.nbt.CompoundTag compound) -
load
public void load(net.minecraft.core.HolderLookup.Provider provider, net.minecraft.nbt.CompoundTag compound, String name) -
save
public void save(net.minecraft.core.HolderLookup.Provider provider, net.minecraft.nbt.CompoundTag compound) -
save
public void save(net.minecraft.core.HolderLookup.Provider provider, net.minecraft.nbt.CompoundTag compound, String name) -
clear
public void clear() -
dumpItems
public void dumpItems(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos) -
dumpItems
public void dumpItems(net.minecraft.world.level.Level level, net.minecraft.world.phys.Vec3 pos) -
interact
public net.minecraft.world.item.ItemStack interact(net.minecraft.server.level.ServerLevel level, net.minecraft.world.entity.player.Player player, net.minecraft.world.InteractionHand handIn) -
extractItem
public net.minecraft.world.item.ItemStack extractItem(net.minecraft.server.level.ServerLevel level, net.minecraft.world.item.ItemStack heldStack, net.minecraft.world.entity.player.Player player) -
giveItemToPlayer
public void giveItemToPlayer(net.minecraft.world.entity.player.Player playerEntity, net.minecraft.world.item.ItemStack stack, int slot) -
takeItemFromPlayer
public net.minecraft.world.item.ItemStack takeItemFromPlayer(net.minecraft.world.entity.player.Player playerEntity, net.minecraft.world.item.ItemStack stack) -
insertItem
public net.minecraft.world.item.ItemStack insertItem(net.minecraft.world.item.ItemStack stack) -
insertItem
public net.minecraft.world.item.ItemStack insertItem(net.minecraft.world.item.ItemStack stack, boolean simulate)
-