Class BlockEntity

java.lang.Object
net.minecraft.block.entity.BlockEntity
Direct Known Subclasses:
BannerBlockEntity, BeaconBlockEntity, BedBlockEntity, BeehiveBlockEntity, BellBlockEntity, BrushableBlockEntity, CampfireBlockEntity, ChiseledBookshelfBlockEntity, CommandBlockBlockEntity, ComparatorBlockEntity, ConduitBlockEntity, DaylightDetectorBlockEntity, DecoratedPotBlockEntity, EnchantingTableBlockEntity, EnderChestBlockEntity, EndPortalBlockEntity, JigsawBlockEntity, JukeboxBlockEntity, LecternBlockEntity, LockableContainerBlockEntity, MobSpawnerBlockEntity, PistonBlockEntity, SculkCatalystBlockEntity, SculkSensorBlockEntity, SculkShriekerBlockEntity, SignBlockEntity, SkullBlockEntity, StructureBlockBlockEntity, TrialSpawnerBlockEntity, VaultBlockEntity

public abstract class BlockEntity extends Object
A block entity is an object holding extra data about a block in a world. Blocks hold their data using pre-defined, finite sets of BlockState; however, some blocks need to hold data that cannot be pre-defined, such as inventories of chests, texts of signs, or pattern combinations of banners. Block entities can hold these data.

Block entities have two other important additions to normal blocks: they can define custom rendering behaviors, and they can tick on every server tick instead of randomly. Some block entities only use these without any extra data.

Block entities are bound to a world and there is one instance of BlockEntity per the block position, unlike Block or BlockState which are reused. Block entities are created using BlockEntityType, a type of block entities. In most cases, block entities do not have to be constructed manually except in BlockEntityProvider.createBlockEntity(net.minecraft.util.math.BlockPos, net.minecraft.block.BlockState).

To get the block entity at a certain position, use World.getBlockEntity(net.minecraft.util.math.BlockPos). Note that the block entity returned can be, in rare cases, different from the one associated with the block at that position. For this reason the return value should not be cast unsafely.

Block entities, like entities, use NBT for the storage of data. The data is loaded to the instance's fields in readNbt(net.minecraft.nbt.NbtCompound, net.minecraft.registry.RegistryWrapper.WrapperLookup) and written to NBT in writeNbt(net.minecraft.nbt.NbtCompound, net.minecraft.registry.RegistryWrapper.WrapperLookup). When a data that needs to be saved has changed, always make sure to call markDirty().

See BlockEntityProvider and BlockEntityType for information on creating a block with block entities.

Block entity's data, unlike block states, are not automatically synced. Block entities declare when and which data to sync. In general, block entities need to sync states observable from the clients without specific interaction (such as opening a container). toUpdatePacket() and toInitialChunkDataNbt(net.minecraft.registry.RegistryWrapper.WrapperLookup) control which data is sent to the client. To sync the block entity to the client, call serverWorld.getChunkManager().markForUpdate(this.getPos());.

Mappings:
Namespace Name
named net/minecraft/block/entity/BlockEntity
intermediary net/minecraft/class_2586
official dqf
  • Field Details

    • LOGGER

      private static final Logger LOGGER
      Mappings:
      Namespace Name Mixin selector
      named LOGGER Lnet/minecraft/block/entity/BlockEntity;LOGGER:Lorg/slf4j/Logger;
      intermediary field_11868 Lnet/minecraft/class_2586;field_11868:Lorg/slf4j/Logger;
      official d Ldqf;d:Lorg/slf4j/Logger;
    • type

      private final BlockEntityType<?> type
      Mappings:
      Namespace Name Mixin selector
      named type Lnet/minecraft/block/entity/BlockEntity;type:Lnet/minecraft/block/entity/BlockEntityType;
      intermediary field_11864 Lnet/minecraft/class_2586;field_11864:Lnet/minecraft/class_2591;
      official e Ldqf;e:Ldqh;
    • world

      @Nullable protected @Nullable World world
      Mappings:
      Namespace Name Mixin selector
      named world Lnet/minecraft/block/entity/BlockEntity;world:Lnet/minecraft/world/World;
      intermediary field_11863 Lnet/minecraft/class_2586;field_11863:Lnet/minecraft/class_1937;
      official n Ldqf;n:Ldcu;
    • pos

      protected final BlockPos pos
      Mappings:
      Namespace Name Mixin selector
      named pos Lnet/minecraft/block/entity/BlockEntity;pos:Lnet/minecraft/util/math/BlockPos;
      intermediary field_11867 Lnet/minecraft/class_2586;field_11867:Lnet/minecraft/class_2338;
      official o Ldqf;o:Ljd;
    • removed

      protected boolean removed
      Mappings:
      Namespace Name Mixin selector
      named removed Lnet/minecraft/block/entity/BlockEntity;removed:Z
      intermediary field_11865 Lnet/minecraft/class_2586;field_11865:Z
      official p Ldqf;p:Z
    • cachedState

      private BlockState cachedState
      Mappings:
      Namespace Name Mixin selector
      named cachedState Lnet/minecraft/block/entity/BlockEntity;cachedState:Lnet/minecraft/block/BlockState;
      intermediary field_11866 Lnet/minecraft/class_2586;field_11866:Lnet/minecraft/class_2680;
      official f Ldqf;f:Ldta;
    • components

      private ComponentMap components
      Mappings:
      Namespace Name Mixin selector
      named components Lnet/minecraft/block/entity/BlockEntity;components:Lnet/minecraft/component/ComponentMap;
      intermediary field_50172 Lnet/minecraft/class_2586;field_50172:Lnet/minecraft/class_9323;
      official g Ldqf;g:Lkm;
  • Constructor Details

    • BlockEntity

      public BlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/block/entity/BlockEntity;<init>(Lnet/minecraft/block/entity/BlockEntityType;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)V
      intermediary <init> Lnet/minecraft/class_2586;<init>(Lnet/minecraft/class_2591;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)V
      official <init> Ldqf;<init>(Ldqh;Ljd;Ldta;)V
  • Method Details

    • posFromNbt

      public static BlockPos posFromNbt(NbtCompound nbt)
      Returns the block position from nbt.

      The passed NBT should use lowercase x, y, and z keys to store the position. This is incompatible with NbtHelper.fromBlockPos(net.minecraft.util.math.BlockPos) that use uppercase keys.

      Returns:
      the block position from nbt
      Mappings:
      Namespace Name Mixin selector
      named posFromNbt Lnet/minecraft/block/entity/BlockEntity;posFromNbt(Lnet/minecraft/nbt/NbtCompound;)Lnet/minecraft/util/math/BlockPos;
      intermediary method_38239 Lnet/minecraft/class_2586;method_38239(Lnet/minecraft/class_2487;)Lnet/minecraft/class_2338;
      official b Ldqf;b(Lua;)Ljd;
    • getWorld

      @Nullable public @Nullable World getWorld()
      Returns the world the block entity belongs to.

      This can return null during world generation.

      Returns:
      the world the block entity belongs to
      Mappings:
      Namespace Name Mixin selector
      named getWorld Lnet/minecraft/block/entity/BlockEntity;getWorld()Lnet/minecraft/world/World;
      intermediary method_10997 Lnet/minecraft/class_2586;method_10997()Lnet/minecraft/class_1937;
      official i Ldqf;i()Ldcu;
    • setWorld

      public void setWorld(World world)
      Sets the world the block entity belongs to.

      This should not be called manually; however, this can be overridden to initialize fields dependent on the world.

      Mappings:
      Namespace Name Mixin selector
      named setWorld Lnet/minecraft/block/entity/BlockEntity;setWorld(Lnet/minecraft/world/World;)V
      intermediary method_31662 Lnet/minecraft/class_2586;method_31662(Lnet/minecraft/class_1937;)V
      official a Ldqf;a(Ldcu;)V
    • hasWorld

      public boolean hasWorld()
      Mappings:
      Namespace Name Mixin selector
      named hasWorld Lnet/minecraft/block/entity/BlockEntity;hasWorld()Z
      intermediary method_11002 Lnet/minecraft/class_2586;method_11002()Z
      official m Ldqf;m()Z
    • readNbt

      protected void readNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup)
      Reads data from nbt. Subclasses should override this if they store a persistent data.

      NBT is a storage format; therefore, a data from NBT is loaded to a block entity instance's fields, which are used for other operations instead of the NBT. The data is written back to NBT when saving the block entity.

      nbt might not have all expected keys, or might have a key whose value does not meet the requirement (such as the type or the range). This method should fall back to a reasonable default value instead of throwing an exception.

      See Also:
      Mappings:
      Namespace Name Mixin selector
      named readNbt Lnet/minecraft/block/entity/BlockEntity;readNbt(Lnet/minecraft/nbt/NbtCompound;Lnet/minecraft/registry/RegistryWrapper$WrapperLookup;)V
      intermediary method_11014 Lnet/minecraft/class_2586;method_11014(Lnet/minecraft/class_2487;Lnet/minecraft/class_7225$class_7874;)V
      official a Ldqf;a(Lua;Ljo$a;)V
    • read

      public final void read(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup)
      Mappings:
      Namespace Name Mixin selector
      named read Lnet/minecraft/block/entity/BlockEntity;read(Lnet/minecraft/nbt/NbtCompound;Lnet/minecraft/registry/RegistryWrapper$WrapperLookup;)V
      intermediary method_58690 Lnet/minecraft/class_2586;method_58690(Lnet/minecraft/class_2487;Lnet/minecraft/class_7225$class_7874;)V
      official c Ldqf;c(Lua;Ljo$a;)V
    • readComponentlessNbt

      public final void readComponentlessNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup)
      Mappings:
      Namespace Name Mixin selector
      named readComponentlessNbt Lnet/minecraft/block/entity/BlockEntity;readComponentlessNbt(Lnet/minecraft/nbt/NbtCompound;Lnet/minecraft/registry/RegistryWrapper$WrapperLookup;)V
      intermediary method_58691 Lnet/minecraft/class_2586;method_58691(Lnet/minecraft/class_2487;Lnet/minecraft/class_7225$class_7874;)V
      official d Ldqf;d(Lua;Ljo$a;)V
    • writeNbt

      protected void writeNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup)
      Writes data to nbt. Subclasses should override this if they store a persistent data.

      NBT is a storage format; therefore, a data from NBT is loaded to a block entity instance's fields, which are used for other operations instead of the NBT. The data is written back to NBT when saving the block entity.

      See Also:
      Mappings:
      Namespace Name Mixin selector
      named writeNbt Lnet/minecraft/block/entity/BlockEntity;writeNbt(Lnet/minecraft/nbt/NbtCompound;Lnet/minecraft/registry/RegistryWrapper$WrapperLookup;)V
      intermediary method_11007 Lnet/minecraft/class_2586;method_11007(Lnet/minecraft/class_2487;Lnet/minecraft/class_7225$class_7874;)V
      official b Ldqf;b(Lua;Ljo$a;)V
    • createNbtWithIdentifyingData

      public final NbtCompound createNbtWithIdentifyingData(RegistryWrapper.WrapperLookup registryLookup)
      Returns the block entity's NBT data with identifying data.

      In addition to data written at writeNbt(net.minecraft.nbt.NbtCompound, net.minecraft.registry.RegistryWrapper.WrapperLookup), this also writes the block entity type ID and the position of the block entity.

      Returns:
      the block entity's NBT data with identifying data
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named createNbtWithIdentifyingData Lnet/minecraft/block/entity/BlockEntity;createNbtWithIdentifyingData(Lnet/minecraft/registry/RegistryWrapper$WrapperLookup;)Lnet/minecraft/nbt/NbtCompound;
      intermediary method_38242 Lnet/minecraft/class_2586;method_38242(Lnet/minecraft/class_7225$class_7874;)Lnet/minecraft/class_2487;
      official b Ldqf;b(Ljo$a;)Lua;
    • createNbtWithId

      public final NbtCompound createNbtWithId(RegistryWrapper.WrapperLookup registryLookup)
      Returns the block entity's NBT data with block entity type ID.

      In addition to data written at writeNbt(net.minecraft.nbt.NbtCompound, net.minecraft.registry.RegistryWrapper.WrapperLookup), this also writes the block entity type ID.

      Returns:
      the block entity's NBT data with block entity type ID
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named createNbtWithId Lnet/minecraft/block/entity/BlockEntity;createNbtWithId(Lnet/minecraft/registry/RegistryWrapper$WrapperLookup;)Lnet/minecraft/nbt/NbtCompound;
      intermediary method_38243 Lnet/minecraft/class_2586;method_38243(Lnet/minecraft/class_7225$class_7874;)Lnet/minecraft/class_2487;
      official c Ldqf;c(Ljo$a;)Lua;
    • createNbt

      public final NbtCompound createNbt(RegistryWrapper.WrapperLookup registryLookup)
      Returns the block entity's NBT data.

      Internally, this calls writeNbt(net.minecraft.nbt.NbtCompound, net.minecraft.registry.RegistryWrapper.WrapperLookup) with a new NbtCompound and returns the compound.

      Returns:
      the block entity's NBT data
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named createNbt Lnet/minecraft/block/entity/BlockEntity;createNbt(Lnet/minecraft/registry/RegistryWrapper$WrapperLookup;)Lnet/minecraft/nbt/NbtCompound;
      intermediary method_38244 Lnet/minecraft/class_2586;method_38244(Lnet/minecraft/class_7225$class_7874;)Lnet/minecraft/class_2487;
      official d Ldqf;d(Ljo$a;)Lua;
    • createComponentlessNbt

      public final NbtCompound createComponentlessNbt(RegistryWrapper.WrapperLookup registryLookup)
      Mappings:
      Namespace Name Mixin selector
      named createComponentlessNbt Lnet/minecraft/block/entity/BlockEntity;createComponentlessNbt(Lnet/minecraft/registry/RegistryWrapper$WrapperLookup;)Lnet/minecraft/nbt/NbtCompound;
      intermediary method_58692 Lnet/minecraft/class_2586;method_58692(Lnet/minecraft/class_7225$class_7874;)Lnet/minecraft/class_2487;
      official e Ldqf;e(Ljo$a;)Lua;
    • createComponentlessNbtWithIdentifyingData

      public final NbtCompound createComponentlessNbtWithIdentifyingData(RegistryWrapper.WrapperLookup registryLookup)
      Mappings:
      Namespace Name Mixin selector
      named createComponentlessNbtWithIdentifyingData Lnet/minecraft/block/entity/BlockEntity;createComponentlessNbtWithIdentifyingData(Lnet/minecraft/registry/RegistryWrapper$WrapperLookup;)Lnet/minecraft/nbt/NbtCompound;
      intermediary method_59535 Lnet/minecraft/class_2586;method_59535(Lnet/minecraft/class_7225$class_7874;)Lnet/minecraft/class_2487;
      official f Ldqf;f(Ljo$a;)Lua;
    • writeIdToNbt

      private void writeIdToNbt(NbtCompound nbt)
      Writes the block entity type ID to nbt under the id key.
      Throws:
      RuntimeException - if the block entity type is not registered in the registry
      Mappings:
      Namespace Name Mixin selector
      named writeIdToNbt Lnet/minecraft/block/entity/BlockEntity;writeIdToNbt(Lnet/minecraft/nbt/NbtCompound;)V
      intermediary method_38241 Lnet/minecraft/class_2586;method_38241(Lnet/minecraft/class_2487;)V
      official c Ldqf;c(Lua;)V
    • writeIdToNbt

      public static void writeIdToNbt(NbtCompound nbt, BlockEntityType<?> type)
      Writes the ID of type to nbt under the id key.
      Mappings:
      Namespace Name Mixin selector
      named writeIdToNbt Lnet/minecraft/block/entity/BlockEntity;writeIdToNbt(Lnet/minecraft/nbt/NbtCompound;Lnet/minecraft/block/entity/BlockEntityType;)V
      intermediary method_38238 Lnet/minecraft/class_2586;method_38238(Lnet/minecraft/class_2487;Lnet/minecraft/class_2591;)V
      official a Ldqf;a(Lua;Ldqh;)V
    • setStackNbt

      public void setStackNbt(ItemStack stack, RegistryWrapper.WrapperLookup registries)
      Sets stack's net.minecraft.item.BlockItem#BLOCK_ENTITY_TAG_KEY NBT value to the block entity's NBT data.
      Mappings:
      Namespace Name Mixin selector
      named setStackNbt Lnet/minecraft/block/entity/BlockEntity;setStackNbt(Lnet/minecraft/item/ItemStack;Lnet/minecraft/registry/RegistryWrapper$WrapperLookup;)V
      intermediary method_38240 Lnet/minecraft/class_2586;method_38240(Lnet/minecraft/class_1799;Lnet/minecraft/class_7225$class_7874;)V
      official a Ldqf;a(Lcuo;Ljo$a;)V
    • writeIdentifyingData

      private void writeIdentifyingData(NbtCompound nbt)
      Writes to nbt the block entity type ID under the id key, and the block's position under x, y, and z keys.
      Throws:
      RuntimeException - if the block entity type is not registered in the registry
      Mappings:
      Namespace Name Mixin selector
      named writeIdentifyingData Lnet/minecraft/block/entity/BlockEntity;writeIdentifyingData(Lnet/minecraft/nbt/NbtCompound;)V
      intermediary method_10999 Lnet/minecraft/class_2586;method_10999(Lnet/minecraft/class_2487;)V
      official d Ldqf;d(Lua;)V
    • createFromNbt

      @Nullable public static @Nullable BlockEntity createFromNbt(BlockPos pos, BlockState state, NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup)
      Returns the new block entity loaded from nbt, or null if it fails.

      This is used during chunk loading. This can fail if nbt has an improper or unregistered id, or if readNbt(net.minecraft.nbt.NbtCompound, net.minecraft.registry.RegistryWrapper.WrapperLookup) throws an exception; in these cases, this logs an error and returns null.

      Returns:
      the new block entity loaded from nbt, or null if it fails
      Mappings:
      Namespace Name Mixin selector
      named createFromNbt Lnet/minecraft/block/entity/BlockEntity;createFromNbt(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Lnet/minecraft/nbt/NbtCompound;Lnet/minecraft/registry/RegistryWrapper$WrapperLookup;)Lnet/minecraft/block/entity/BlockEntity;
      intermediary method_11005 Lnet/minecraft/class_2586;method_11005(Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Lnet/minecraft/class_2487;Lnet/minecraft/class_7225$class_7874;)Lnet/minecraft/class_2586;
      official a Ldqf;a(Ljd;Ldta;Lua;Ljo$a;)Ldqf;
    • markDirty

      public void markDirty()
      Marks this block entity as dirty and that it needs to be saved. This also triggers comparator update.

      This must be called when something changed in a way that affects the saved NBT; otherwise, the game might not save the block entity.

      Mappings:
      Namespace Name Mixin selector
      named markDirty Lnet/minecraft/block/entity/BlockEntity;markDirty()V
      intermediary method_5431 Lnet/minecraft/class_2586;method_5431()V
      official e Ldqf;e()V
    • markDirty

      protected static void markDirty(World world, BlockPos pos, BlockState state)
      Mappings:
      Namespace Name Mixin selector
      named markDirty Lnet/minecraft/block/entity/BlockEntity;markDirty(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)V
      intermediary method_31663 Lnet/minecraft/class_2586;method_31663(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)V
      official a Ldqf;a(Ldcu;Ljd;Ldta;)V
    • getPos

      public BlockPos getPos()
      Returns the block entity's position.
      Returns:
      the block entity's position
      Mappings:
      Namespace Name Mixin selector
      named getPos Lnet/minecraft/block/entity/BlockEntity;getPos()Lnet/minecraft/util/math/BlockPos;
      intermediary method_11016 Lnet/minecraft/class_2586;method_11016()Lnet/minecraft/class_2338;
      official az_ Ldqf;az_()Ljd;
    • getCachedState

      public BlockState getCachedState()
      Returns the cached block state at the block entity's position.

      This is faster than calling World.getBlockState(net.minecraft.util.math.BlockPos).

      Returns:
      the cached block state at the block entity's position
      Mappings:
      Namespace Name Mixin selector
      named getCachedState Lnet/minecraft/block/entity/BlockEntity;getCachedState()Lnet/minecraft/block/BlockState;
      intermediary method_11010 Lnet/minecraft/class_2586;method_11010()Lnet/minecraft/class_2680;
      official n Ldqf;n()Ldta;
    • toUpdatePacket

      Returns the packet to send to nearby players when the block entity's observable state changes, or null to not send the packet.

      If the data returned by initial chunk data is suitable for updates, the following shortcut can be used to create an update packet: BlockEntityUpdateS2CPacket.create(this). The NBT will be passed to readNbt(net.minecraft.nbt.NbtCompound, net.minecraft.registry.RegistryWrapper.WrapperLookup) on the client.

      "Observable state" is a state that clients can observe without specific interaction. For example, CampfireBlockEntity's cooked items are observable states, but chests' inventories are not observable states, since the player must first open that chest before they can see the contents.

      To sync block entity data using this method, use serverWorld.getChunkManager().markForUpdate(this.getPos());.

      Returns:
      the packet to send to nearby players when the block entity's observable state changes, or null to not send the packet
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named toUpdatePacket Lnet/minecraft/block/entity/BlockEntity;toUpdatePacket()Lnet/minecraft/network/packet/Packet;
      intermediary method_38235 Lnet/minecraft/class_2586;method_38235()Lnet/minecraft/class_2596;
      official av_ Ldqf;av_()Lzf;
    • toInitialChunkDataNbt

      public NbtCompound toInitialChunkDataNbt(RegistryWrapper.WrapperLookup registryLookup)
      Returns the serialized state of this block entity that is observable by clients.

      This is sent alongside the initial chunk data, as well as when the block entity implements toUpdatePacket() and decides to use the default BlockEntityUpdateS2CPacket.

      "Observable state" is a state that clients can observe without specific interaction. For example, CampfireBlockEntity's cooked items are observable states, but chests' inventories are not observable states, since the player must first open that chest before they can see the contents.

      To send all NBT data of this block entity saved to disk, return createNbt(net.minecraft.registry.RegistryWrapper.WrapperLookup).

      Returns:
      the serialized state of this block entity that is observable by clients
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named toInitialChunkDataNbt Lnet/minecraft/block/entity/BlockEntity;toInitialChunkDataNbt(Lnet/minecraft/registry/RegistryWrapper$WrapperLookup;)Lnet/minecraft/nbt/NbtCompound;
      intermediary method_16887 Lnet/minecraft/class_2586;method_16887(Lnet/minecraft/class_7225$class_7874;)Lnet/minecraft/class_2487;
      official a Ldqf;a(Ljo$a;)Lua;
    • isRemoved

      public boolean isRemoved()
      Mappings:
      Namespace Name Mixin selector
      named isRemoved Lnet/minecraft/block/entity/BlockEntity;isRemoved()Z
      intermediary method_11015 Lnet/minecraft/class_2586;method_11015()Z
      official o Ldqf;o()Z
    • markRemoved

      public void markRemoved()
      Mappings:
      Namespace Name Mixin selector
      named markRemoved Lnet/minecraft/block/entity/BlockEntity;markRemoved()V
      intermediary method_11012 Lnet/minecraft/class_2586;method_11012()V
      official aw_ Ldqf;aw_()V
    • cancelRemoval

      public void cancelRemoval()
      Mappings:
      Namespace Name Mixin selector
      named cancelRemoval Lnet/minecraft/block/entity/BlockEntity;cancelRemoval()V
      intermediary method_10996 Lnet/minecraft/class_2586;method_10996()V
      official p Ldqf;p()V
    • onSyncedBlockEvent

      public boolean onSyncedBlockEvent(int type, int data)
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named onSyncedBlockEvent Lnet/minecraft/block/entity/BlockEntity;onSyncedBlockEvent(II)Z
      intermediary method_11004 Lnet/minecraft/class_2586;method_11004(II)Z
      official a_ Ldqf;a_(II)Z
    • populateCrashReport

      public void populateCrashReport(CrashReportSection crashReportSection)
      Mappings:
      Namespace Name Mixin selector
      named populateCrashReport Lnet/minecraft/block/entity/BlockEntity;populateCrashReport(Lnet/minecraft/util/crash/CrashReportSection;)V
      intermediary method_11003 Lnet/minecraft/class_2586;method_11003(Lnet/minecraft/class_129;)V
      official a Ldqf;a(Lp;)V
    • copyItemDataRequiresOperator

      public boolean copyItemDataRequiresOperator()
      Returns whether the block item should require the player to have operator permissions to copy the block entity data on placement.

      Block entities that can execute commands should override this to return true.

      Returns:
      whether the block item should require the player to have operator permissions to copy the block entity data on placement
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named copyItemDataRequiresOperator Lnet/minecraft/block/entity/BlockEntity;copyItemDataRequiresOperator()Z
      intermediary method_11011 Lnet/minecraft/class_2586;method_11011()Z
      official q Ldqf;q()Z
    • getType

      public BlockEntityType<?> getType()
      Mappings:
      Namespace Name Mixin selector
      named getType Lnet/minecraft/block/entity/BlockEntity;getType()Lnet/minecraft/block/entity/BlockEntityType;
      intermediary method_11017 Lnet/minecraft/class_2586;method_11017()Lnet/minecraft/class_2591;
      official r Ldqf;r()Ldqh;
    • setCachedState

      @Deprecated public void setCachedState(BlockState state)
      Deprecated.
      Mappings:
      Namespace Name Mixin selector
      named setCachedState Lnet/minecraft/block/entity/BlockEntity;setCachedState(Lnet/minecraft/block/BlockState;)V
      intermediary method_31664 Lnet/minecraft/class_2586;method_31664(Lnet/minecraft/class_2680;)V
      official b Ldqf;b(Ldta;)V
    • readComponents

      protected void readComponents(BlockEntity.ComponentsAccess components)
      Mappings:
      Namespace Name Mixin selector
      named readComponents Lnet/minecraft/block/entity/BlockEntity;readComponents(Lnet/minecraft/block/entity/BlockEntity$ComponentsAccess;)V
      intermediary method_57568 Lnet/minecraft/class_2586;method_57568(Lnet/minecraft/class_2586$class_9473;)V
      official a Ldqf;a(Ldqf$b;)V
    • readComponents

      public final void readComponents(ItemStack stack)
      Mappings:
      Namespace Name Mixin selector
      named readComponents Lnet/minecraft/block/entity/BlockEntity;readComponents(Lnet/minecraft/item/ItemStack;)V
      intermediary method_58683 Lnet/minecraft/class_2586;method_58683(Lnet/minecraft/class_1799;)V
      official a Ldqf;a(Lcuo;)V
    • readComponents

      public final void readComponents(ComponentMap defaultComponents, ComponentChanges components)
      Mappings:
      Namespace Name Mixin selector
      named readComponents Lnet/minecraft/block/entity/BlockEntity;readComponents(Lnet/minecraft/component/ComponentMap;Lnet/minecraft/component/ComponentChanges;)V
      intermediary method_58685 Lnet/minecraft/class_2586;method_58685(Lnet/minecraft/class_9323;Lnet/minecraft/class_9326;)V
      official a Ldqf;a(Lkm;Lkn;)V
    • addComponents

      protected void addComponents(ComponentMap.Builder componentMapBuilder)
      Mappings:
      Namespace Name Mixin selector
      named addComponents Lnet/minecraft/block/entity/BlockEntity;addComponents(Lnet/minecraft/component/ComponentMap$Builder;)V
      intermediary method_57567 Lnet/minecraft/class_2586;method_57567(Lnet/minecraft/class_9323$class_9324;)V
      official a Ldqf;a(Lkm$a;)V
    • removeFromCopiedStackNbt

      @Deprecated public void removeFromCopiedStackNbt(NbtCompound nbt)
      Deprecated.
      Mappings:
      Namespace Name Mixin selector
      named removeFromCopiedStackNbt Lnet/minecraft/block/entity/BlockEntity;removeFromCopiedStackNbt(Lnet/minecraft/nbt/NbtCompound;)V
      intermediary method_57569 Lnet/minecraft/class_2586;method_57569(Lnet/minecraft/class_2487;)V
      official a Ldqf;a(Lua;)V
    • createComponentMap

      public final ComponentMap createComponentMap()
      Mappings:
      Namespace Name Mixin selector
      named createComponentMap Lnet/minecraft/block/entity/BlockEntity;createComponentMap()Lnet/minecraft/component/ComponentMap;
      intermediary method_57590 Lnet/minecraft/class_2586;method_57590()Lnet/minecraft/class_9323;
      official s Ldqf;s()Lkm;
    • getComponents

      public ComponentMap getComponents()
      Mappings:
      Namespace Name Mixin selector
      named getComponents Lnet/minecraft/block/entity/BlockEntity;getComponents()Lnet/minecraft/component/ComponentMap;
      intermediary method_58693 Lnet/minecraft/class_2586;method_58693()Lnet/minecraft/class_9323;
      official t Ldqf;t()Lkm;
    • setComponents

      public void setComponents(ComponentMap components)
      Mappings:
      Namespace Name Mixin selector
      named setComponents Lnet/minecraft/block/entity/BlockEntity;setComponents(Lnet/minecraft/component/ComponentMap;)V
      intermediary method_58684 Lnet/minecraft/class_2586;method_58684(Lnet/minecraft/class_9323;)V
      official a Ldqf;a(Lkm;)V
    • tryParseCustomName

      @Nullable public static @Nullable Text tryParseCustomName(String json, RegistryWrapper.WrapperLookup registryLookup)
      Mappings:
      Namespace Name Mixin selector
      named tryParseCustomName Lnet/minecraft/block/entity/BlockEntity;tryParseCustomName(Ljava/lang/String;Lnet/minecraft/registry/RegistryWrapper$WrapperLookup;)Lnet/minecraft/text/Text;
      intermediary method_59894 Lnet/minecraft/class_2586;method_59894(Ljava/lang/String;Lnet/minecraft/class_7225$class_7874;)Lnet/minecraft/class_2561;
      official a Ldqf;a(Ljava/lang/String;Ljo$a;)Lwy;