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 ClassesNested classes/interfaces inherited from class net.minecraft.world.level.block.entity.BlockEntity
net.minecraft.world.level.block.entity.BlockEntity.DataComponentInputNested 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, worldPositionFields inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
ATTACHMENTS_NBT_KEY -
Constructor Summary
ConstructorsConstructorDescriptionContainerBlockEntity(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 TypeMethodDescriptionprotected final voidaddEnergyStorage(int energyCapacity) protected final voidaddFluidTank(int capacityInMb) protected final voidaddFluidTank(int capacityInMn, Predicate<net.neoforged.neoforge.fluids.FluidStack> validation) protected final voidaddFluidTank(int capacityInMb, Predicate<net.neoforged.neoforge.fluids.FluidStack> validation, boolean secondary) protected final voidaddItemHandler(int slots) protected final voidaddItemHandler(int slots, int slotLimit) protected final voidaddItemHandler(int slots, int slotLimit, BiPredicate<Integer, net.minecraft.world.item.ItemStack> validation) protected final voidaddItemHandler(int slots, BiPredicate<Integer, net.minecraft.world.item.ItemStack> validation) protected final voidaddItemHandler(int slots, UnaryOperator<Integer> slotLimit) protected final voidaddItemHandler(int slots, UnaryOperator<Integer> slotLimit, BiPredicate<Integer, net.minecraft.world.item.ItemStack> validation) protected final voidaddSecondaryFluidTank(int capacityInMb) protected final voidaddSecondaryFluidTank(int capacityInMb, Predicate<net.neoforged.neoforge.fluids.FluidStack> validation) voidvoiddrop()net.minecraft.world.item.ItemStackforceExtractItem(int slot, int amount, boolean simulate) net.minecraft.world.item.ItemStackforceInsertItem(int slot, net.minecraft.world.item.ItemStack stack, boolean simulate) net.minecraft.world.item.ItemStackforceInsertItem(List<Integer> slots, net.minecraft.world.item.ItemStack stack, boolean simulate) net.neoforged.neoforge.energy.IEnergyStorageprotected net.neoforged.neoforge.energy.EnergyStoragenet.neoforged.neoforge.energy.IEnergyStoragegetEnergyStorageOnSide(net.minecraft.core.Direction direction) net.neoforged.neoforge.fluids.capability.IFluidHandlernet.neoforged.neoforge.fluids.capability.IFluidHandlergetFluidHandlerOnSide(net.minecraft.core.Direction direction) protected DynamicFluidTank<T> TgetHandlerOnSide(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.IItemHandlernet.neoforged.neoforge.items.IItemHandlergetItemHandlerOnSide(net.minecraft.core.Direction direction) @Nullable net.minecraft.world.item.ItemStack[]List<net.minecraft.world.item.ItemStack> protected net.neoforged.neoforge.items.ItemStackHandlergetSidedInteractions(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.CompoundTaggetUpdateTag(net.minecraft.core.HolderLookup.Provider provider) protected final voidloadAdditional(@NotNull net.minecraft.nbt.CompoundTag nbt, @NotNull net.minecraft.core.HolderLookup.Provider provider) protected voidloadData(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider provider) voidonDataPacket(net.minecraft.network.Connection net, net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket pkt, net.minecraft.core.HolderLookup.Provider lookupProvider) voidprotected voidprotected voidonItemsChanged(int slot) voidprotected final voidsaveAdditional(@NotNull net.minecraft.nbt.CompoundTag nbt, @NotNull net.minecraft.core.HolderLookup.Provider provider) protected voidsaveData(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider provider) voidupdate()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, triggerEventMethods inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
deserializeAttachments, getData, getExistingDataOrNull, hasAttachments, hasData, serializeAttachmentsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.neoforged.neoforge.attachment.IAttachmentHolder
getData, getExistingData, getExistingData, getExistingDataOrNull, hasData, removeData, setData, syncDataMethods 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
-
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:
loadAdditionalin classnet.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:
saveAdditionalin classnet.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
-
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
-
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
-
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, getSidedInteractionsint[]>> (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 beIOAction.NONEand 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:
getUpdatePacketin classnet.minecraft.world.level.block.entity.BlockEntity
-
getUpdateTag
@NotNull public @NotNull net.minecraft.nbt.CompoundTag getUpdateTag(net.minecraft.core.HolderLookup.Provider provider) - Overrides:
getUpdateTagin classnet.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)
-