Class SmartInventory

java.lang.Object
com.simibubi.create.foundation.blockEntity.LegacyRecipeWrapper
com.simibubi.create.foundation.item.SmartInventory
All Implemented Interfaces:
net.minecraft.world.Clearable, net.minecraft.world.Container, net.minecraft.world.item.crafting.RecipeInput, net.neoforged.neoforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>, net.neoforged.neoforge.items.IItemHandler, net.neoforged.neoforge.items.IItemHandlerModifiable
Direct Known Subclasses:
BasinInventory, MechanicalCrafterBlockEntity.Inventory

public class SmartInventory extends LegacyRecipeWrapper implements net.neoforged.neoforge.items.IItemHandlerModifiable, net.neoforged.neoforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>
  • Field Details

    • extractionAllowed

      protected boolean extractionAllowed
    • insertionAllowed

      protected boolean insertionAllowed
    • stackNonStackables

      protected boolean stackNonStackables
    • wrapped

      protected com.simibubi.create.foundation.item.SmartInventory.SyncedStackHandler wrapped
    • stackSize

      protected int stackSize
  • Constructor Details

    • SmartInventory

      public SmartInventory(int slots, SyncedBlockEntity be)
    • SmartInventory

      public SmartInventory(int slots, SyncedBlockEntity be, int stackSize, boolean stackNonStackables)
  • Method Details

    • withMaxStackSize

      public SmartInventory withMaxStackSize(int maxStackSize)
    • whenContentsChanged

      public SmartInventory whenContentsChanged(Consumer<Integer> updateCallback)
    • allowInsertion

      public SmartInventory allowInsertion()
    • allowExtraction

      public SmartInventory allowExtraction()
    • forbidInsertion

      public SmartInventory forbidInsertion()
    • forbidExtraction

      public SmartInventory forbidExtraction()
    • getSlots

      public int getSlots()
      Specified by:
      getSlots in interface net.neoforged.neoforge.items.IItemHandler
    • insertItem

      public net.minecraft.world.item.ItemStack insertItem(int slot, net.minecraft.world.item.ItemStack stack, boolean simulate)
      Specified by:
      insertItem in interface net.neoforged.neoforge.items.IItemHandler
    • extractItem

      public net.minecraft.world.item.ItemStack extractItem(int slot, int amount, boolean simulate)
      Specified by:
      extractItem in interface net.neoforged.neoforge.items.IItemHandler
    • getSlotLimit

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

      public boolean isItemValid(int slot, net.minecraft.world.item.ItemStack stack)
      Specified by:
      isItemValid in interface net.neoforged.neoforge.items.IItemHandler
    • getStackInSlot

      public net.minecraft.world.item.ItemStack getStackInSlot(int slot)
      Specified by:
      getStackInSlot in interface net.neoforged.neoforge.items.IItemHandler
    • setStackInSlot

      public void setStackInSlot(int slot, net.minecraft.world.item.ItemStack stack)
      Specified by:
      setStackInSlot in interface net.neoforged.neoforge.items.IItemHandlerModifiable
    • getStackLimit

      public int getStackLimit(int slot, @Nonnull net.minecraft.world.item.ItemStack stack)
    • serializeNBT

      public net.minecraft.nbt.CompoundTag serializeNBT(net.minecraft.core.HolderLookup.Provider registries)
      Specified by:
      serializeNBT in interface net.neoforged.neoforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>
    • deserializeNBT

      public void deserializeNBT(net.minecraft.core.HolderLookup.Provider registries, net.minecraft.nbt.CompoundTag nbt)
      Specified by:
      deserializeNBT in interface net.neoforged.neoforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>