Class 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
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
-
Nested Class Summary
Modifier and TypeClassDescriptionprivate static class
protected static interface
-
Field Summary
Modifier and TypeFieldDescriptionprivate BlockState
private ComponentMap
private static final Logger
protected final BlockPos
protected boolean
private final BlockEntityType
<?> -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
addComponents
(ComponentMap.Builder componentMapBuilder) void
boolean
Returns whether the block item should require the player to have operator permissions to copy the block entity data on placement.final NbtCompound
createComponentlessNbt
(RegistryWrapper.WrapperLookup registryLookup) final NbtCompound
final ComponentMap
static @Nullable BlockEntity
createFromNbt
(BlockPos pos, BlockState state, NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup) Returns the new block entity loaded fromnbt
, ornull
if it fails.final NbtCompound
createNbt
(RegistryWrapper.WrapperLookup registryLookup) Returns the block entity's NBT data.final NbtCompound
createNbtWithId
(RegistryWrapper.WrapperLookup registryLookup) Returns the block entity's NBT data with block entity type ID.final NbtCompound
createNbtWithIdentifyingData
(RegistryWrapper.WrapperLookup registryLookup) Returns the block entity's NBT data with identifying data.Returns the cached block state at the block entity's position.getPos()
Returns the block entity's position.getType()
getWorld()
Returns the world the block entity belongs to.boolean
hasWorld()
boolean
void
Marks this block entity as dirty and that it needs to be saved.protected static void
markDirty
(World world, BlockPos pos, BlockState state) void
boolean
onSyncedBlockEvent
(int type, int data) If this block entity's block extendsBlockWithEntity
, this is called insideAbstractBlock.onSyncedBlockEvent(net.minecraft.block.BlockState, net.minecraft.world.World, net.minecraft.util.math.BlockPos, int, int)
.void
populateCrashReport
(CrashReportSection crashReportSection) static BlockPos
posFromNbt
(NbtCompound nbt) Returns the block position fromnbt
.final void
read
(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup) final void
readComponentlessNbt
(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup) protected void
readComponents
(BlockEntity.ComponentsAccess components) final void
readComponents
(ComponentMap defaultComponents, ComponentChanges components) final void
readComponents
(ItemStack stack) protected void
readNbt
(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup) Reads data fromnbt
.void
Deprecated.void
setCachedState
(BlockState state) Deprecated.void
setComponents
(ComponentMap components) void
setStackNbt
(ItemStack stack, RegistryWrapper.WrapperLookup registries) Setsstack
'snet.minecraft.item.BlockItem#BLOCK_ENTITY_TAG_KEY
NBT value to the block entity's NBT data.void
Sets the world the block entity belongs to.toInitialChunkDataNbt
(RegistryWrapper.WrapperLookup registryLookup) Returns the serialized state of this block entity that is observable by clients.Returns the packet to send to nearby players when the block entity's observable state changes, ornull
to not send the packet.tryParseCustomName
(String json, RegistryWrapper.WrapperLookup registryLookup) private void
Writes tonbt
the block entity type ID under theid
key, and the block's position underx
,y
, andz
keys.private void
writeIdToNbt
(NbtCompound nbt) Writes the block entity type ID tonbt
under theid
key.static void
writeIdToNbt
(NbtCompound nbt, BlockEntityType<?> type) Writes the ID oftype
tonbt
under theid
key.protected void
writeNbt
(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup) Writes data tonbt
.
-
Field Details
-
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
- 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
- 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
- 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
- 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
- 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
- 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
Returns the block position fromnbt
.The passed NBT should use lowercase
x
,y
, andz
keys to store the position. This is incompatible withNbtHelper.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
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
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
Reads data fromnbt
. 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
- 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
Writes data tonbt
. 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
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
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
Returns the block entity's NBT data.Internally, this calls
writeNbt(net.minecraft.nbt.NbtCompound, net.minecraft.registry.RegistryWrapper.WrapperLookup)
with a newNbtCompound
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
- 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
Writes the block entity type ID tonbt
under theid
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
Writes the ID oftype
tonbt
under theid
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
Setsstack
'snet.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
Writes tonbt
the block entity type ID under theid
key, and the block's position underx
,y
, andz
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 fromnbt
, ornull
if it fails.This is used during chunk loading. This can fail if
nbt
has an improper or unregisteredid
, or ifreadNbt(net.minecraft.nbt.NbtCompound, net.minecraft.registry.RegistryWrapper.WrapperLookup)
throws an exception; in these cases, this logs an error and returnsnull
.- Returns:
- the new block entity loaded from
nbt
, ornull
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
- 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
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
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, ornull
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 toreadNbt(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
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 defaultBlockEntityUpdateS2CPacket
."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) If this block entity's block extendsBlockWithEntity
, this is called insideAbstractBlock.onSyncedBlockEvent(net.minecraft.block.BlockState, net.minecraft.world.World, net.minecraft.util.math.BlockPos, int, int)
.- 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
- 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
- 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.- 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
- 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
- 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
- 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
- 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.- 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
- 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
- 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
- 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;
-