Without a minecraft:geometry component Bedrock renders a custom block
through the legacy blocks.json texture path instead of material_instances.
These packs' blocks.json files only set "sound", with no "textures", so the
client substituted a default and the blocks rendered untextured. Diagnosed
and verified in-game on redstone-link; this applies the same one-line fix to
the rest.
Confirmed in the field for the portal blocks: portal_jamie, portal_lyla and
portal_mya all fell back to the same default, so players had to guess which
portal led to which world. They reference vanilla textures (emerald_block,
amethyst_block, prismarine_bricks), so with geometry set they render green,
purple and teal respectively -- one per child.
Also fixes home_sign, smart_crafting_table, tent_canvas and portal_frame.
full_block is correct for all seven: every custom block model in these packs
(hammock_slab, tent_panel_l/r, portal_field) is already referenced by its own
block, and no orphan model exists for any of these, so they were always meant
to be plain cubes.
No pack versions bumped deliberately. Block definitions live in the behavior
pack and reach clients through the network block palette rather than a cached
resource pack, so a bump is unnecessary -- and bumping would require updating
the matching pin in all four world_behavior_packs.json files, where a
mismatch silently drops the pack from the stack.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015Gf1kZypRDfPL1YiWUS1LC
Two silent failure modes hit eight addons today:
1. BP→RP dep drift. When an RP version was bumped, dependent BPs kept
naming the old version. Bedrock loaded both packs but disconnected
the texture pipeline, so blocks rendered as map_color cubes in the
inventory. Aligned spark_pet, heyhe_pet, camping_supplies, dynamite,
home_sign, postal_service, private_chest BP deps to actual RP
versions. Bumped postal/private_chest RP versions to 1.0.1 to bust
client RP caches.
2. Missing minecraft:geometry. Bedrock 1.21+ silently fails to render
custom blocks in inventory unless geometry is declared — even for
plain full cubes, no warning logged. Added
minecraft:geometry.full_block to post_office, mailbox, and
private_chest. Same fix already applied to sun_lamp and the wild
cherry tree blocks in their respective addon commits.
Saved both failure modes to project memory so they're easy to recognise
next time someone sees "all my custom blocks show as solid coloured
cubes in the inventory".
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Bedrock 1.26 rejects { context } variants as "malformed unlocking context"
and [] as "empty unlocking ingredient array". The unlock field must contain
at least one ingredient item; players who have that item unlock the recipe.
Using minecraft:crafting_table as the unlock ingredient makes semantic sense
(all 26 recipes already require the crafting_table tag) and effectively means
"visible once the player has any crafting table".
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Follow-up to 4324882. The { "context": "always_unlocked" } form triggered
"malformed unlocking context" on 1.26-series Bedrock (AlwaysUnlocked pascal
form fared no better). Empty-array form is the universally accepted "recipe
always known" shape. This unblocks mc-lobby which was crashing on boot.
Also reverts block format_version on mailbox.json + smart_crafting_table.json
to 1.21.0 — every other working block in the repo uses that, so the prior
1.21.60 choice was unnecessary.
- 19 dragon + portal recipes (spark_pet_BP, lobby_transfer_BP): unlock -> []
- 7 other recipes touching unlock { context: ... }: same
- 2 block files: format_version 1.21.60 -> 1.21.0
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>