Class SmartBlockEntity

java.lang.Object
net.neoforged.neoforge.attachment.AttachmentHolder
net.minecraft.world.level.block.entity.BlockEntity
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.DataComponentInput

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

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

    Fields
    Modifier and Type
    Field
    Description
    protected int
     
    protected int
     

    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
    SmartBlockEntity(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 Type
    Method
    Description
    abstract void
     
    void
    Gets called just before reading block entity data for behaviours.
    void
     
    void
    award(CreateAdvancement advancement)
     
    void
    awardIfNear(CreateAdvancement advancement, int range)
     
    boolean
    canPlayerUse(net.minecraft.world.entity.player.Player player)
     
    void
    Block destroyed or replaced.
    void
     
     
     
    getRequiredItems(net.minecraft.world.level.block.state.BlockState state)
     
    void
     
    void
    Block destroyed or Chunk unloaded.
    boolean
     
    boolean
     
    void
     
    protected void
    loadAdditional(@NotNull net.minecraft.nbt.CompoundTag tag, @NotNull net.minecraft.core.HolderLookup.Provider registries)
     
    void
     
    void
     
    protected void
    read(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider registries, boolean clientPacket)
    Hook only these in future subclasses of STE
    final void
    readClient(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider registries)
     
    void
     
    void
     
    void
    Block destroyed or picked up by a contraption.
    void
     
    final void
    saveAdditional(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider registries)
     
    void
    sendToMenu(net.minecraft.network.RegistryFriendlyByteBuf buffer)
     
    void
    setLazyTickRate(int slowTickRate)
     
    final void
     
    void
     
    protected void
    write(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider registries, boolean clientPacket)
    Hook only these in future subclasses of STE
    final net.minecraft.nbt.CompoundTag
    writeClient(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider registries)
     
    void
    writeSafe(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider registries)
    This will always be called from the logical server

    Methods inherited from class com.simibubi.create.foundation.blockEntity.CachedRenderBBBlockEntity

    createRenderBoundingBox, getRenderBoundingBox, invalidateRenderBoundingBox

    Methods inherited from class com.simibubi.create.foundation.blockEntity.SyncedBlockEntity

    blockHolderGetter, getUpdatePacket, getUpdateTag, handleUpdateTag, notifyUpdate, onDataPacket, sendData

    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, 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, 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

      public abstract void addBehaviours(List<BlockEntityBehaviour> behaviours)
    • addBehavioursDeferred

      public void addBehavioursDeferred(List<BlockEntityBehaviour> behaviours)
      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: PartialSafeNBT
      This will always be called from the logical server
      Specified by:
      writeSafe in interface PartialSafeNBT
    • 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:
      loadAdditional in class net.minecraft.world.level.block.entity.BlockEntity
    • onChunkUnloaded

      public void onChunkUnloaded()
      Specified by:
      onChunkUnloaded in interface net.neoforged.neoforge.common.extensions.IBlockEntityExtension
    • setRemoved

      public final void setRemoved()
      Overrides:
      setRemoved in class net.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:
      saveAdditional in class net.minecraft.world.level.block.entity.BlockEntity
    • readClient

      public final void readClient(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider registries)
      Overrides:
      readClient in class SyncedBlockEntity
    • writeClient

      public final net.minecraft.nbt.CompoundTag writeClient(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider registries)
      Overrides:
      writeClient in class SyncedBlockEntity
    • getBehaviour

      public <T extends BlockEntityBehaviour> T getBehaviour(BehaviourType<T> type)
    • forEachBehaviour

      public void forEachBehaviour(Consumer<BlockEntityBehaviour> action)
    • getAllBehaviours

      public Collection<BlockEntityBehaviour> getAllBehaviours()
    • attachBehaviourLate

      public void attachBehaviourLate(BlockEntityBehaviour behaviour)
    • getRequiredItems

      public ItemRequirement getRequiredItems(net.minecraft.world.level.block.state.BlockState state)
      Specified by:
      getRequiredItems in interface SpecialBlockEntityItemRequirement
    • removeBehaviour

      public void removeBehaviour(BehaviourType<?> type)
    • setLazyTickRate

      public void setLazyTickRate(int slowTickRate)
    • markVirtual

      public void markVirtual()
      Specified by:
      markVirtual in interface net.createmod.ponder.api.VirtualBlockEntity
    • isVirtual

      public boolean isVirtual()
      Specified by:
      isVirtual in interface net.createmod.ponder.api.VirtualBlockEntity
    • isChunkUnloaded

      public boolean isChunkUnloaded()
    • canPlayerUse

      public boolean canPlayerUse(net.minecraft.world.entity.player.Player player)
      Specified by:
      canPlayerUse in interface IInteractionChecker
    • sendToMenu

      public void sendToMenu(net.minecraft.network.RegistryFriendlyByteBuf buffer)
    • refreshBlockState

      public void refreshBlockState()
    • registerAwardables

      public void registerAwardables(List<BlockEntityBehaviour> behaviours, CreateAdvancement... advancements)
    • award

      public void award(CreateAdvancement advancement)
    • awardIfNear

      public void awardIfNear(CreateAdvancement advancement, int range)