Class SmartBlockEntity
java.lang.Object
net.neoforged.neoforge.attachment.AttachmentHolder
net.minecraft.world.level.block.entity.BlockEntity
com.simibubi.create.foundation.blockEntity.SyncedBlockEntity
com.simibubi.create.foundation.blockEntity.CachedRenderBBBlockEntity
com.simibubi.create.foundation.blockEntity.SmartBlockEntity
- All Implemented Interfaces:
PartialSafeNBT,SpecialBlockEntityItemRequirement,IInteractionChecker,net.createmod.ponder.api.VirtualBlockEntity,net.neoforged.neoforge.attachment.IAttachmentHolder,net.neoforged.neoforge.common.extensions.IBlockEntityExtension
- Direct Known Subclasses:
AbstractBellBlockEntity,AnalogLeverBlockEntity,BasinBlockEntity,BeltTunnelBlockEntity,BlazeBurnerBlockEntity,BrassDiodeBlockEntity,CartAssemblerBlockEntity,ChassisBlockEntity,ChuteBlockEntity,ClipboardBlockEntity,ContraptionControlsBlockEntity,CopycatBlockEntity,CrateBlockEntity,CrushingWheelControllerBlockEntity,DepotBlockEntity,DeskBellBlockEntity,ElevatorContactBlockEntity,FactoryPanelBlockEntity,FluidPipeBlockEntity,FluidTankBlockEntity,FunnelBlockEntity,ItemDrainBlockEntity,ItemHatchBlockEntity,ItemVaultBlockEntity,KineticBlockEntity,LecternControllerBlockEntity,LinkWithBulbBlockEntity,NixieTubeBlockEntity,NozzleBlockEntity,PackagePortBlockEntity,PackagerBlockEntity,PlacardBlockEntity,PortableStorageInterfaceBlockEntity,RedstoneLinkBlockEntity,RollerBlockEntity,SchematicannonBlockEntity,SchematicTableBlockEntity,SignalBlockEntity,SlidingDoorBlockEntity,SmartFluidPipeBlockEntity,SmartObserverBlockEntity,SpoutBlockEntity,StationBlockEntity,SteamEngineBlockEntity,StickerBlockEntity,StockCheckingBlockEntity,StraightPipeBlockEntity,TableClothBlockEntity,ThresholdSwitchBlockEntity,ToolboxBlockEntity,TrackBlockEntity,TrackObserverBlockEntity,WhistleBlockEntity
public abstract class SmartBlockEntity
extends CachedRenderBBBlockEntity
implements PartialSafeNBT, IInteractionChecker, SpecialBlockEntityItemRequirement, net.createmod.ponder.api.VirtualBlockEntity
-
Nested Class Summary
Nested 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
FieldsFields 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
ConstructorsConstructorDescriptionSmartBlockEntity(net.minecraft.world.level.block.entity.BlockEntityType<?> type, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state) -
Method Summary
Modifier and TypeMethodDescriptionabstract voidaddBehaviours(List<BlockEntityBehaviour> behaviours) voidaddBehavioursDeferred(List<BlockEntityBehaviour> behaviours) Gets called just before reading block entity data for behaviours.voidattachBehaviourLate(BlockEntityBehaviour behaviour) voidaward(CreateAdvancement advancement) voidawardIfNear(CreateAdvancement advancement, int range) booleancanPlayerUse(net.minecraft.world.entity.player.Player player) voiddestroy()Block destroyed or replaced.voidforEachBehaviour(Consumer<BlockEntityBehaviour> action) <T extends BlockEntityBehaviour>
TgetBehaviour(BehaviourType<T> type) getRequiredItems(net.minecraft.world.level.block.state.BlockState state) voidvoidBlock destroyed or Chunk unloaded.booleanbooleanvoidlazyTick()protected voidloadAdditional(@NotNull net.minecraft.nbt.CompoundTag tag, @NotNull net.minecraft.core.HolderLookup.Provider registries) voidvoidprotected voidread(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider registries, boolean clientPacket) Hook only these in future subclasses of STEfinal voidreadClient(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider registries) voidvoidregisterAwardables(List<BlockEntityBehaviour> behaviours, CreateAdvancement... advancements) voidremove()Block destroyed or picked up by a contraption.voidremoveBehaviour(BehaviourType<?> type) final voidsaveAdditional(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider registries) voidsendToMenu(net.minecraft.network.RegistryFriendlyByteBuf buffer) voidsetLazyTickRate(int slowTickRate) final voidvoidtick()protected voidwrite(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider registries, boolean clientPacket) Hook only these in future subclasses of STEfinal net.minecraft.nbt.CompoundTagwriteClient(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider registries) voidwriteSafe(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider registries) This will always be called from the logical serverMethods inherited from class com.simibubi.create.foundation.blockEntity.CachedRenderBBBlockEntity
createRenderBoundingBox, getRenderBoundingBox, invalidateRenderBoundingBoxMethods inherited from class com.simibubi.create.foundation.blockEntity.SyncedBlockEntity
blockHolderGetter, getUpdatePacket, getUpdateTag, handleUpdateTag, notifyUpdate, onDataPacket, sendDataMethods 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, triggerEventMethods inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
deserializeAttachments, getData, getExistingData, 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, hasData, removeData, setDataMethods inherited from interface net.neoforged.neoforge.common.extensions.IBlockEntityExtension
getModelData, hasCustomOutlineRendering, invalidateCapabilities, onLoad, requestModelDataUpdate
-
Field Details
-
lazyTickRate
protected int lazyTickRate -
lazyTickCounter
protected int lazyTickCounter
-
-
Constructor Details
-
SmartBlockEntity
public SmartBlockEntity(net.minecraft.world.level.block.entity.BlockEntityType<?> type, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state)
-
-
Method Details
-
addBehaviours
-
addBehavioursDeferred
Gets called just before reading block entity data for behaviours. Register anything here that depends on your custom BE data. -
initialize
public void initialize() -
tick
public void tick() -
lazyTick
public void lazyTick() -
write
protected void write(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider registries, boolean clientPacket) Hook only these in future subclasses of STE -
writeSafe
public void writeSafe(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider registries) Description copied from interface:PartialSafeNBTThis will always be called from the logical server- Specified by:
writeSafein interfacePartialSafeNBT
-
read
protected void read(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider registries, boolean clientPacket) Hook only these in future subclasses of STE -
loadAdditional
protected void loadAdditional(@NotNull @NotNull net.minecraft.nbt.CompoundTag tag, @NotNull net.minecraft.core.HolderLookup.Provider registries) - Overrides:
loadAdditionalin classnet.minecraft.world.level.block.entity.BlockEntity
-
onChunkUnloaded
public void onChunkUnloaded()- Specified by:
onChunkUnloadedin interfacenet.neoforged.neoforge.common.extensions.IBlockEntityExtension
-
setRemoved
public final void setRemoved()- Overrides:
setRemovedin classnet.minecraft.world.level.block.entity.BlockEntity
-
invalidate
public void invalidate()Block destroyed or Chunk unloaded. Usually invalidates capabilities -
remove
public void remove()Block destroyed or picked up by a contraption. Usually detaches kinetics -
destroy
public void destroy()Block destroyed or replaced. Requires Block to call IBE::onRemove -
saveAdditional
public final void saveAdditional(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider registries) - Overrides:
saveAdditionalin classnet.minecraft.world.level.block.entity.BlockEntity
-
readClient
public final void readClient(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider registries) - Overrides:
readClientin classSyncedBlockEntity
-
writeClient
public final net.minecraft.nbt.CompoundTag writeClient(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider registries) - Overrides:
writeClientin classSyncedBlockEntity
-
getBehaviour
-
forEachBehaviour
-
getAllBehaviours
-
attachBehaviourLate
-
getRequiredItems
- Specified by:
getRequiredItemsin interfaceSpecialBlockEntityItemRequirement
-
removeBehaviour
-
setLazyTickRate
public void setLazyTickRate(int slowTickRate) -
markVirtual
public void markVirtual()- Specified by:
markVirtualin interfacenet.createmod.ponder.api.VirtualBlockEntity
-
isVirtual
public boolean isVirtual()- Specified by:
isVirtualin interfacenet.createmod.ponder.api.VirtualBlockEntity
-
isChunkUnloaded
public boolean isChunkUnloaded() -
canPlayerUse
public boolean canPlayerUse(net.minecraft.world.entity.player.Player player) - Specified by:
canPlayerUsein interfaceIInteractionChecker
-
sendToMenu
public void sendToMenu(net.minecraft.network.RegistryFriendlyByteBuf buffer) -
refreshBlockState
public void refreshBlockState() -
registerAwardables
public void registerAwardables(List<BlockEntityBehaviour> behaviours, CreateAdvancement... advancements) -
award
-
awardIfNear
-