Block & Entity Hooks
BlockEntityHooks
dev.architectury.hooks.block.BlockEntityHooks
BlockEntityHooks.syncData(myBlockEntity);
syncData(BlockEntity) pushes a block entity's current data to nearby clients (it marks the block
as changed so the server resends it). Call it after changing data you want clients to see.
syncData throws if called on the logical client. Guard with if (!level.isClientSide()) { ... }
first.
EntityHooks
dev.architectury.hooks.level.entity.EntityHooks
@Nullable Entity entity = EntityHooks.fromCollision(collisionContext);
fromCollision(CollisionContext) returns the entity behind a collision context (for example,
inside Block#getCollisionShape), or null if there isn't one.
PlayerHooks
dev.architectury.hooks.level.entity.PlayerHooks
if (!PlayerHooks.isFake(player)) {
// a real player, not a fake/automation player
}
isFake(Player) reports whether a player is a "fake" player (such as those some automation mods
use). Handy when you only want to react to genuine players.
ItemEntityHooks
dev.architectury.hooks.level.entity.ItemEntityHooks
IntValue lifespan = ItemEntityHooks.lifespan(itemEntity);
lifespan(ItemEntity) returns the item entity's lifespan in ticks as an IntValue you can read and
modify. The default is 6000.
On Fabric this was a read-only value of 6000 before Architectury API 22.0; writes were
silently discarded. It is now backed by a persistent entity attachment, so setting it works on both
loaders.