Class ContainerBlockEntity

java.lang.Object
net.neoforged.neoforge.attachment.AttachmentHolder
net.minecraft.world.level.block.entity.BlockEntity
com.portingdeadmods.portingdeadlibs.api.blockentities.ContainerBlockEntity
All Implemented Interfaces:
net.neoforged.neoforge.attachment.IAttachmentHolder, net.neoforged.neoforge.common.extensions.IBlockEntityExtension
Direct Known Subclasses:
GhostMultiblockControllerBE

public abstract class ContainerBlockEntity extends net.minecraft.world.level.block.entity.BlockEntity
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static interface 
     

    Nested classes/interfaces inherited from class net.minecraft.world.level.block.entity.BlockEntity

    net.minecraft.world.level.block.entity.BlockEntity.DataComponentInput

    Nested classes/interfaces inherited from class net.neoforged.neoforge.attachment.AttachmentHolder

    net.neoforged.neoforge.attachment.AttachmentHolder.AsField
  • Field Summary

    Fields inherited from class net.minecraft.world.level.block.entity.BlockEntity

    level, remove, worldPosition

    Fields inherited from class net.neoforged.neoforge.attachment.AttachmentHolder

    ATTACHMENTS_NBT_KEY
  • Constructor Summary

    Constructors
    Constructor
    Description
    ContainerBlockEntity(net.minecraft.world.level.block.entity.BlockEntityType<?> blockEntityType, net.minecraft.core.BlockPos blockPos, net.minecraft.world.level.block.state.BlockState blockState)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected final void
    addEnergyStorage(int energyCapacity)
     
    protected final void
    addFluidTank(int capacityInMb)
     
    protected final void
    addFluidTank(int capacityInMn, Predicate<net.neoforged.neoforge.fluids.FluidStack> validation)
     
    protected final void
    addFluidTank(int capacityInMb, Predicate<net.neoforged.neoforge.fluids.FluidStack> validation, boolean secondary)
     
    protected final void
    addItemHandler(int slots)
     
    protected final void
    addItemHandler(int slots, int slotLimit)
     
    protected final void
    addItemHandler(int slots, int slotLimit, BiPredicate<Integer,net.minecraft.world.item.ItemStack> validation)
     
    protected final void
    addItemHandler(int slots, BiPredicate<Integer,net.minecraft.world.item.ItemStack> validation)
     
    protected final void
    addItemHandler(int slots, UnaryOperator<Integer> slotLimit)
     
    protected final void
    addItemHandler(int slots, UnaryOperator<Integer> slotLimit, BiPredicate<Integer,net.minecraft.world.item.ItemStack> validation)
     
    protected final void
    addSecondaryFluidTank(int capacityInMb)
     
    protected final void
    addSecondaryFluidTank(int capacityInMb, Predicate<net.neoforged.neoforge.fluids.FluidStack> validation)
     
    void
     
    void
     
    net.minecraft.world.item.ItemStack
    forceExtractItem(int slot, int amount, boolean simulate)
     
    net.minecraft.world.item.ItemStack
    forceInsertItem(int slot, net.minecraft.world.item.ItemStack stack, boolean simulate)
     
    net.minecraft.world.item.ItemStack
    forceInsertItem(List<Integer> slots, net.minecraft.world.item.ItemStack stack, boolean simulate)
     
    net.neoforged.neoforge.energy.IEnergyStorage
     
    protected net.neoforged.neoforge.energy.EnergyStorage
     
    net.neoforged.neoforge.energy.IEnergyStorage
    getEnergyStorageOnSide(net.minecraft.core.Direction direction)
     
    net.neoforged.neoforge.fluids.capability.IFluidHandler
     
    net.neoforged.neoforge.fluids.capability.IFluidHandler
    getFluidHandlerOnSide(net.minecraft.core.Direction direction)
     
     
    <T> T
    getHandlerOnSide(net.neoforged.neoforge.capabilities.BlockCapability<T,@Nullable net.minecraft.core.Direction> capability, ContainerBlockEntity.SidedHandlerSupplier<T> handlerSupplier, net.minecraft.core.Direction direction, T baseHandler)
     
    net.neoforged.neoforge.items.IItemHandler
     
    net.neoforged.neoforge.items.IItemHandler
    getItemHandlerOnSide(net.minecraft.core.Direction direction)
     
    @Nullable net.minecraft.world.item.ItemStack[]
     
    List<net.minecraft.world.item.ItemStack>
     
    protected net.neoforged.neoforge.items.ItemStackHandler
     
    abstract <T> Map<net.minecraft.core.Direction,it.unimi.dsi.fastutil.Pair<IOAction,int[]>>
    getSidedInteractions(net.neoforged.neoforge.capabilities.BlockCapability<T,@Nullable net.minecraft.core.Direction> capability)
    Get the input/output config for the blockenitity.
    @Nullable net.minecraft.network.protocol.Packet<net.minecraft.network.protocol.game.ClientGamePacketListener>
     
    @NotNull net.minecraft.nbt.CompoundTag
    getUpdateTag(net.minecraft.core.HolderLookup.Provider provider)
     
    protected final void
    loadAdditional(@NotNull net.minecraft.nbt.CompoundTag nbt, @NotNull net.minecraft.core.HolderLookup.Provider provider)
     
    protected void
    loadData(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider provider)
     
    void
    onDataPacket(net.minecraft.network.Connection net, net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket pkt, net.minecraft.core.HolderLookup.Provider lookupProvider)
     
    void
     
    protected void
     
    protected void
    onItemsChanged(int slot)
     
    void
     
    protected final void
    saveAdditional(@NotNull net.minecraft.nbt.CompoundTag nbt, @NotNull net.minecraft.core.HolderLookup.Provider provider)
     
    protected void
    saveData(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider provider)
     
    void
     

    Methods inherited from class net.minecraft.world.level.block.entity.BlockEntity

    addEntityType, applyComponents, applyComponentsFromItemStack, applyImplicitComponents, clearRemoved, collectComponents, collectImplicitComponents, components, fillCrashReportCategory, getBlockPos, getBlockState, getLevel, getPersistentData, getPosFromTag, getType, hasLevel, isRemoved, isValidBlockState, loadCustomOnly, loadStatic, loadWithComponents, onlyOpCanSetNbt, parseCustomNameSafe, removeComponentsFromTag, removeData, saveCustomAndMetadata, saveCustomOnly, saveToItem, saveWithFullMetadata, saveWithId, saveWithoutMetadata, setBlockState, setChanged, setChanged, setComponents, setData, setLevel, setRemoved, syncData, triggerEvent

    Methods inherited from class net.neoforged.neoforge.attachment.AttachmentHolder

    deserializeAttachments, getData, getExistingDataOrNull, hasAttachments, hasData, serializeAttachments

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface net.neoforged.neoforge.attachment.IAttachmentHolder

    getData, getExistingData, getExistingData, getExistingDataOrNull, hasData, removeData, setData, syncData

    Methods inherited from interface net.neoforged.neoforge.common.extensions.IBlockEntityExtension

    getModelData, handleUpdateTag, hasCustomOutlineRendering, invalidateCapabilities, onChunkUnloaded, onLoad, requestModelDataUpdate
  • Constructor Details

    • ContainerBlockEntity

      public ContainerBlockEntity(net.minecraft.world.level.block.entity.BlockEntityType<?> blockEntityType, net.minecraft.core.BlockPos blockPos, net.minecraft.world.level.block.state.BlockState blockState)
  • Method Details

    • commonTick

      public void commonTick()
    • getItemHandler

      public net.neoforged.neoforge.items.IItemHandler getItemHandler()
    • getFluidHandler

      public net.neoforged.neoforge.fluids.capability.IFluidHandler getFluidHandler()
    • getEnergyStorage

      public net.neoforged.neoforge.energy.IEnergyStorage getEnergyStorage()
    • getItemStackHandler

      protected net.neoforged.neoforge.items.ItemStackHandler getItemStackHandler()
    • getFluidTank

      protected DynamicFluidTank getFluidTank()
    • getEnergyStorageImpl

      protected net.neoforged.neoforge.energy.EnergyStorage getEnergyStorageImpl()
    • loadAdditional

      protected final void loadAdditional(@NotNull @NotNull net.minecraft.nbt.CompoundTag nbt, @NotNull net.minecraft.core.HolderLookup.Provider provider)
      Overrides:
      loadAdditional in class net.minecraft.world.level.block.entity.BlockEntity
    • saveAdditional

      protected final void saveAdditional(@NotNull @NotNull net.minecraft.nbt.CompoundTag nbt, @NotNull net.minecraft.core.HolderLookup.Provider provider)
      Overrides:
      saveAdditional in class net.minecraft.world.level.block.entity.BlockEntity
    • loadData

      protected void loadData(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider provider)
    • saveData

      protected void saveData(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider provider)
    • addItemHandler

      protected final void addItemHandler(int slots)
    • addItemHandler

      protected final void addItemHandler(int slots, int slotLimit)
    • addItemHandler

      protected final void addItemHandler(int slots, BiPredicate<Integer,net.minecraft.world.item.ItemStack> validation)
    • addItemHandler

      protected final void addItemHandler(int slots, UnaryOperator<Integer> slotLimit)
    • addItemHandler

      protected final void addItemHandler(int slots, int slotLimit, BiPredicate<Integer,net.minecraft.world.item.ItemStack> validation)
    • addItemHandler

      protected final void addItemHandler(int slots, UnaryOperator<Integer> slotLimit, BiPredicate<Integer,net.minecraft.world.item.ItemStack> validation)
    • forceExtractItem

      public net.minecraft.world.item.ItemStack forceExtractItem(int slot, int amount, boolean simulate)
    • forceInsertItem

      public net.minecraft.world.item.ItemStack forceInsertItem(int slot, net.minecraft.world.item.ItemStack stack, boolean simulate)
    • forceInsertItem

      public net.minecraft.world.item.ItemStack forceInsertItem(List<Integer> slots, net.minecraft.world.item.ItemStack stack, boolean simulate)
    • addFluidTank

      protected final void addFluidTank(int capacityInMb)
    • addSecondaryFluidTank

      protected final void addSecondaryFluidTank(int capacityInMb)
    • addSecondaryFluidTank

      protected final void addSecondaryFluidTank(int capacityInMb, Predicate<net.neoforged.neoforge.fluids.FluidStack> validation)
    • addFluidTank

      protected final void addFluidTank(int capacityInMn, Predicate<net.neoforged.neoforge.fluids.FluidStack> validation)
    • addFluidTank

      protected final void addFluidTank(int capacityInMb, Predicate<net.neoforged.neoforge.fluids.FluidStack> validation, boolean secondary)
    • addEnergyStorage

      protected final void addEnergyStorage(int energyCapacity)
    • update

      public void update()
    • onItemsChanged

      protected void onItemsChanged(int slot)
    • onFluidChanged

      protected void onFluidChanged()
    • onPowerChanged

      public void onPowerChanged()
    • onEnergyChanged

      public void onEnergyChanged()
    • drop

      public void drop()
    • getItemHandlerStacks

      @Nullable public @Nullable net.minecraft.world.item.ItemStack[] getItemHandlerStacks()
    • getItemHandlerStacksList

      public List<net.minecraft.world.item.ItemStack> getItemHandlerStacksList()
    • getHandlerOnSide

      public <T> T getHandlerOnSide(net.neoforged.neoforge.capabilities.BlockCapability<T,@Nullable net.minecraft.core.Direction> capability, ContainerBlockEntity.SidedHandlerSupplier<T> handlerSupplier, net.minecraft.core.Direction direction, T baseHandler)
    • getItemHandlerOnSide

      public net.neoforged.neoforge.items.IItemHandler getItemHandlerOnSide(net.minecraft.core.Direction direction)
    • getFluidHandlerOnSide

      public net.neoforged.neoforge.fluids.capability.IFluidHandler getFluidHandlerOnSide(net.minecraft.core.Direction direction)
    • getEnergyStorageOnSide

      public net.neoforged.neoforge.energy.IEnergyStorage getEnergyStorageOnSide(net.minecraft.core.Direction direction)
    • getSidedInteractions

      public abstract <T> Map<net.minecraft.core.Direction,it.unimi.dsi.fastutil.Pair<IOAction,int[]>> getSidedInteractions(net.neoforged.neoforge.capabilities.BlockCapability<T,@Nullable net.minecraft.core.Direction> capability)
      Get the input/output config for the blockenitity. If directions are not defined in the map, they are assumed to be IOAction.NONE and do not affect any slot.
      Returns:
      Map of directions that each map to a pair that defines the IOAction as well as the tanks that are affected. Return an empty map if you do not have an itemhandler
    • getUpdatePacket

      @Nullable public @Nullable net.minecraft.network.protocol.Packet<net.minecraft.network.protocol.game.ClientGamePacketListener> getUpdatePacket()
      Overrides:
      getUpdatePacket in class net.minecraft.world.level.block.entity.BlockEntity
    • getUpdateTag

      @NotNull public @NotNull net.minecraft.nbt.CompoundTag getUpdateTag(net.minecraft.core.HolderLookup.Provider provider)
      Overrides:
      getUpdateTag in class net.minecraft.world.level.block.entity.BlockEntity
    • onDataPacket

      public void onDataPacket(net.minecraft.network.Connection net, net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket pkt, net.minecraft.core.HolderLookup.Provider lookupProvider)