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 Details

    • blockEntity

      public LodestoneBlockEntity blockEntity
    • slotCount

      public final int slotCount
    • allowedItemSize

      public final int allowedItemSize
    • inputPredicate

      public Predicate<net.minecraft.world.item.ItemStack> inputPredicate
    • contentsChangeBehavior

      public Runnable contentsChangeBehavior
    • autoSync

      public boolean autoSync
    • nonEmptyItemStacks

      public ArrayList<net.minecraft.world.item.ItemStack> 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

      public LodestoneBlockEntityInventory onContentsChanged(Runnable contentsChangeBehavior)
    • triggerBlockEntityUpdate

      public LodestoneBlockEntityInventory triggerBlockEntityUpdate()
    • getStacks

      public net.minecraft.core.NonNullList<net.minecraft.world.item.ItemStack> getStacks()
    • getNonEmptyStacks

      public ArrayList<net.minecraft.world.item.ItemStack> 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:
      onContentsChanged in class net.neoforged.neoforge.items.ItemStackHandler
    • getSlots

      public int getSlots()
      Specified by:
      getSlots in interface net.neoforged.neoforge.items.IItemHandler
      Overrides:
      getSlots in class net.neoforged.neoforge.items.ItemStackHandler
    • getSlotLimit

      public int getSlotLimit(int slot)
      Specified by:
      getSlotLimit in interface net.neoforged.neoforge.items.IItemHandler
      Overrides:
      getSlotLimit in class net.neoforged.neoforge.items.ItemStackHandler
    • isItemValid

      public boolean isItemValid(int slot, @Nonnull net.minecraft.world.item.ItemStack stack)
      Specified by:
      isItemValid in interface net.neoforged.neoforge.items.IItemHandler
      Overrides:
      isItemValid in class net.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)