Skip to content

Block state handle

From world:block_state(pos) or a block raycast hit’s state. Live handle — every method re-reads the world.

Method Meaning
id, name Block id ("minecraft:chest") and display name
position Queried block position (floored) as vec3
air, liquid, solid, replaceable Kind flags (replaceable = can place over it)
burnable Fire can consume it
tool_required Drops only with the right tool
opaque, full_cube, has_collision Shape flags
has_block_entity Extra data (chest, furnace, …)
random_ticks Receives random ticks
emits_redstone Emits redstone power
piston_behavior "normal", "destroy", "block", "push_only", …
hardness, blast_resistance Mining / explosion resistance
slipperiness Sliding (0.6 normal, 0.98 ice)
velocity_multiplier, jump_velocity_multiplier Movement modifiers (soul sand, honey)
luminance Light emitted, 0–15
opacity How much light it blocks
map_color Map color as signed RGB integer — not 0xAARRGGBB
properties State properties as strings, e.g. b:properties().facing == "north"
fluid {id, level, still} if the block holds fluid, or nil
tags Block tag ids, e.g. "minecraft:mineable/pickaxe"
local b = world:block_state(pos)
if b and b:properties().lit == "true" then  -- properties are strings, not booleans
    print(b:name() .. " is lit")
end
Navigation

Type to search…

↑↓ navigate↵ selectEsc close