Skip to content

feat: expose Block.isSolid to scripts from the game's solidity table - #390

Merged
NaySurGithub merged 1 commit into
devfrom
feat/script-block-is-solid
Nov 14, 2026
Merged

NaySurGithub merged 1 commit into
devfrom
feat/script-block-is-solid

Conversation

@NaySurGithub

Copy link
Copy Markdown
Contributor

Adds the beta Block.isSolid property of the Script API.

The value comes from block_solid.json of BedrockData (protocol 2225), read from the 1.26.63 server by the DataGen solid lab: 1480 blocks, 633 solid, no per-state difference. It is embedded like the block tags and kept in its own table, BlockSolidity.

BlockData::mSolid is left alone: it means "obstructs movement" for about 27 callers (liquids, redstone, pistons, AI, world generation) and differs from the game's flag for 437 blocks (slabs, stairs, stained glass, doors, fences, leaves, chests, ice...).

Not verified:

  • not compiled or run locally
  • a block missing from the table (a custom block of a pack) reads as not solid; what the game answers for those was not checked
  • the table keeps one value per type and only logs a warning if a later dump carries per-state overrides

@NaySurGithub
NaySurGithub merged commit 87d6004 into dev Nov 14, 2026
1 check passed
@NaySurGithub
NaySurGithub deleted the feat/script-block-is-solid branch November 14, 2026 14:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant