fix(addons): correct recipe unlock shape and block format_version
All checks were successful
Deploy Addons / deploy (push) Successful in 13s

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>
This commit is contained in:
2026-04-23 23:22:41 +01:00
parent 43248820fa
commit e6148a2949
28 changed files with 386 additions and 152 deletions

View File

@@ -4,17 +4,25 @@
"description": { "description": {
"identifier": "silverlabs:dragon_basket_recipe" "identifier": "silverlabs:dragon_basket_recipe"
}, },
"unlock": { "context": "always_unlocked" }, "unlock": [],
"tags": ["crafting_table"], "tags": [
"crafting_table"
],
"pattern": [ "pattern": [
"S S", "S S",
"WLW", "WLW",
"SSS" "SSS"
], ],
"key": { "key": {
"S": { "item": "minecraft:stick" }, "S": {
"W": { "item": "minecraft:wool" }, "item": "minecraft:stick"
"L": { "item": "minecraft:leather" } },
"W": {
"item": "minecraft:wool"
},
"L": {
"item": "minecraft:leather"
}
}, },
"result": { "result": {
"item": "silverlabs:dragon_basket" "item": "silverlabs:dragon_basket"

View File

@@ -4,17 +4,25 @@
"description": { "description": {
"identifier": "silverlabs:dragon_egg" "identifier": "silverlabs:dragon_egg"
}, },
"unlock": { "context": "always_unlocked" }, "unlock": [],
"tags": ["crafting_table"], "tags": [
"crafting_table"
],
"pattern": [ "pattern": [
" B ", " B ",
"AGA", "AGA",
" A " " A "
], ],
"key": { "key": {
"B": { "item": "minecraft:blaze_powder" }, "B": {
"A": { "item": "minecraft:amethyst_shard" }, "item": "minecraft:blaze_powder"
"G": { "item": "minecraft:gold_ingot" } },
"A": {
"item": "minecraft:amethyst_shard"
},
"G": {
"item": "minecraft:gold_ingot"
}
}, },
"result": { "result": {
"item": "silverlabs:dragon_egg", "item": "silverlabs:dragon_egg",

View File

@@ -1,13 +1,23 @@
{ {
"format_version": "1.21.0", "format_version": "1.21.0",
"minecraft:recipe_shapeless": { "minecraft:recipe_shapeless": {
"description": { "identifier": "silverlabs:dragon_egg_crimson_recipe" }, "description": {
"unlock": { "context": "always_unlocked" }, "identifier": "silverlabs:dragon_egg_crimson_recipe"
"tags": ["crafting_table"], },
"ingredients": [ "unlock": [],
{ "item": "silverlabs:dragon_egg" }, "tags": [
{ "item": "minecraft:red_dye" } "crafting_table"
], ],
"result": { "item": "silverlabs:dragon_egg_crimson" } "ingredients": [
{
"item": "silverlabs:dragon_egg"
},
{
"item": "minecraft:red_dye"
}
],
"result": {
"item": "silverlabs:dragon_egg_crimson"
}
} }
} }

View File

@@ -1,13 +1,23 @@
{ {
"format_version": "1.21.0", "format_version": "1.21.0",
"minecraft:recipe_shapeless": { "minecraft:recipe_shapeless": {
"description": { "identifier": "silverlabs:dragon_egg_jungle_recipe" }, "description": {
"unlock": { "context": "always_unlocked" }, "identifier": "silverlabs:dragon_egg_jungle_recipe"
"tags": ["crafting_table"], },
"ingredients": [ "unlock": [],
{ "item": "silverlabs:dragon_egg" }, "tags": [
{ "item": "minecraft:lime_dye" } "crafting_table"
], ],
"result": { "item": "silverlabs:dragon_egg_jungle" } "ingredients": [
{
"item": "silverlabs:dragon_egg"
},
{
"item": "minecraft:lime_dye"
}
],
"result": {
"item": "silverlabs:dragon_egg_jungle"
}
} }
} }

View File

@@ -1,13 +1,23 @@
{ {
"format_version": "1.21.0", "format_version": "1.21.0",
"minecraft:recipe_shapeless": { "minecraft:recipe_shapeless": {
"description": { "identifier": "silverlabs:dragon_egg_oak_recipe" }, "description": {
"unlock": { "context": "always_unlocked" }, "identifier": "silverlabs:dragon_egg_oak_recipe"
"tags": ["crafting_table"], },
"ingredients": [ "unlock": [],
{ "item": "silverlabs:dragon_egg" }, "tags": [
{ "item": "minecraft:white_dye" } "crafting_table"
], ],
"result": { "item": "silverlabs:dragon_egg_oak" } "ingredients": [
{
"item": "silverlabs:dragon_egg"
},
{
"item": "minecraft:white_dye"
}
],
"result": {
"item": "silverlabs:dragon_egg_oak"
}
} }
} }

View File

@@ -1,13 +1,23 @@
{ {
"format_version": "1.21.0", "format_version": "1.21.0",
"minecraft:recipe_shapeless": { "minecraft:recipe_shapeless": {
"description": { "identifier": "silverlabs:dragon_egg_obsidian_recipe" }, "description": {
"unlock": { "context": "always_unlocked" }, "identifier": "silverlabs:dragon_egg_obsidian_recipe"
"tags": ["crafting_table"], },
"ingredients": [ "unlock": [],
{ "item": "silverlabs:dragon_egg" }, "tags": [
{ "item": "minecraft:black_dye" } "crafting_table"
], ],
"result": { "item": "silverlabs:dragon_egg_obsidian" } "ingredients": [
{
"item": "silverlabs:dragon_egg"
},
{
"item": "minecraft:black_dye"
}
],
"result": {
"item": "silverlabs:dragon_egg_obsidian"
}
} }
} }

View File

@@ -1,13 +1,23 @@
{ {
"format_version": "1.21.0", "format_version": "1.21.0",
"minecraft:recipe_shapeless": { "minecraft:recipe_shapeless": {
"description": { "identifier": "silverlabs:dragon_egg_spruce_recipe" }, "description": {
"unlock": { "context": "always_unlocked" }, "identifier": "silverlabs:dragon_egg_spruce_recipe"
"tags": ["crafting_table"], },
"ingredients": [ "unlock": [],
{ "item": "silverlabs:dragon_egg" }, "tags": [
{ "item": "minecraft:brown_dye" } "crafting_table"
], ],
"result": { "item": "silverlabs:dragon_egg_spruce" } "ingredients": [
{
"item": "silverlabs:dragon_egg"
},
{
"item": "minecraft:brown_dye"
}
],
"result": {
"item": "silverlabs:dragon_egg_spruce"
}
} }
} }

View File

@@ -1,13 +1,23 @@
{ {
"format_version": "1.21.0", "format_version": "1.21.0",
"minecraft:recipe_shapeless": { "minecraft:recipe_shapeless": {
"description": { "identifier": "silverlabs:dragon_egg_warped_recipe" }, "description": {
"unlock": { "context": "always_unlocked" }, "identifier": "silverlabs:dragon_egg_warped_recipe"
"tags": ["crafting_table"], },
"ingredients": [ "unlock": [],
{ "item": "silverlabs:dragon_egg" }, "tags": [
{ "item": "minecraft:cyan_dye" } "crafting_table"
], ],
"result": { "item": "silverlabs:dragon_egg_warped" } "ingredients": [
{
"item": "silverlabs:dragon_egg"
},
{
"item": "minecraft:cyan_dye"
}
],
"result": {
"item": "silverlabs:dragon_egg_warped"
}
} }
} }

View File

@@ -1,20 +1,34 @@
{ {
"format_version": "1.21.0", "format_version": "1.21.0",
"minecraft:recipe_shaped": { "minecraft:recipe_shaped": {
"description": { "identifier": "silverlabs:dragon_nest_crimson_recipe" }, "description": {
"unlock": { "context": "always_unlocked" }, "identifier": "silverlabs:dragon_nest_crimson_recipe"
"tags": ["crafting_table"], },
"unlock": [],
"tags": [
"crafting_table"
],
"pattern": [ "pattern": [
"S S", "S S",
"WLW", "WLW",
"PPP" "PPP"
], ],
"key": { "key": {
"S": { "item": "minecraft:stick" }, "S": {
"W": { "item": "minecraft:red_wool" }, "item": "minecraft:stick"
"L": { "item": "minecraft:leather" },
"P": { "item": "minecraft:crimson_planks" }
}, },
"result": { "item": "silverlabs:dragon_nest_crimson" } "W": {
"item": "minecraft:red_wool"
},
"L": {
"item": "minecraft:leather"
},
"P": {
"item": "minecraft:crimson_planks"
}
},
"result": {
"item": "silverlabs:dragon_nest_crimson"
}
} }
} }

View File

@@ -1,20 +1,34 @@
{ {
"format_version": "1.21.0", "format_version": "1.21.0",
"minecraft:recipe_shaped": { "minecraft:recipe_shaped": {
"description": { "identifier": "silverlabs:dragon_nest_jungle_recipe" }, "description": {
"unlock": { "context": "always_unlocked" }, "identifier": "silverlabs:dragon_nest_jungle_recipe"
"tags": ["crafting_table"], },
"unlock": [],
"tags": [
"crafting_table"
],
"pattern": [ "pattern": [
"S S", "S S",
"WLW", "WLW",
"PPP" "PPP"
], ],
"key": { "key": {
"S": { "item": "minecraft:stick" }, "S": {
"W": { "item": "minecraft:lime_wool" }, "item": "minecraft:stick"
"L": { "item": "minecraft:leather" },
"P": { "item": "minecraft:jungle_planks" }
}, },
"result": { "item": "silverlabs:dragon_nest_jungle" } "W": {
"item": "minecraft:lime_wool"
},
"L": {
"item": "minecraft:leather"
},
"P": {
"item": "minecraft:jungle_planks"
}
},
"result": {
"item": "silverlabs:dragon_nest_jungle"
}
} }
} }

View File

@@ -1,20 +1,34 @@
{ {
"format_version": "1.21.0", "format_version": "1.21.0",
"minecraft:recipe_shaped": { "minecraft:recipe_shaped": {
"description": { "identifier": "silverlabs:dragon_nest_oak_recipe" }, "description": {
"unlock": { "context": "always_unlocked" }, "identifier": "silverlabs:dragon_nest_oak_recipe"
"tags": ["crafting_table"], },
"unlock": [],
"tags": [
"crafting_table"
],
"pattern": [ "pattern": [
"S S", "S S",
"WLW", "WLW",
"PPP" "PPP"
], ],
"key": { "key": {
"S": { "item": "minecraft:stick" }, "S": {
"W": { "item": "minecraft:white_wool" }, "item": "minecraft:stick"
"L": { "item": "minecraft:leather" },
"P": { "item": "minecraft:oak_planks" }
}, },
"result": { "item": "silverlabs:dragon_nest_oak" } "W": {
"item": "minecraft:white_wool"
},
"L": {
"item": "minecraft:leather"
},
"P": {
"item": "minecraft:oak_planks"
}
},
"result": {
"item": "silverlabs:dragon_nest_oak"
}
} }
} }

View File

@@ -1,19 +1,31 @@
{ {
"format_version": "1.21.0", "format_version": "1.21.0",
"minecraft:recipe_shaped": { "minecraft:recipe_shaped": {
"description": { "identifier": "silverlabs:dragon_nest_obsidian_recipe" }, "description": {
"unlock": { "context": "always_unlocked" }, "identifier": "silverlabs:dragon_nest_obsidian_recipe"
"tags": ["crafting_table"], },
"unlock": [],
"tags": [
"crafting_table"
],
"pattern": [ "pattern": [
"O O", "O O",
"WLW", "WLW",
"OOO" "OOO"
], ],
"key": { "key": {
"O": { "item": "minecraft:obsidian" }, "O": {
"W": { "item": "minecraft:black_wool" }, "item": "minecraft:obsidian"
"L": { "item": "minecraft:leather" }
}, },
"result": { "item": "silverlabs:dragon_nest_obsidian" } "W": {
"item": "minecraft:black_wool"
},
"L": {
"item": "minecraft:leather"
}
},
"result": {
"item": "silverlabs:dragon_nest_obsidian"
}
} }
} }

View File

@@ -1,20 +1,34 @@
{ {
"format_version": "1.21.0", "format_version": "1.21.0",
"minecraft:recipe_shaped": { "minecraft:recipe_shaped": {
"description": { "identifier": "silverlabs:dragon_nest_spruce_recipe" }, "description": {
"unlock": { "context": "always_unlocked" }, "identifier": "silverlabs:dragon_nest_spruce_recipe"
"tags": ["crafting_table"], },
"unlock": [],
"tags": [
"crafting_table"
],
"pattern": [ "pattern": [
"S S", "S S",
"WLW", "WLW",
"PPP" "PPP"
], ],
"key": { "key": {
"S": { "item": "minecraft:stick" }, "S": {
"W": { "item": "minecraft:brown_wool" }, "item": "minecraft:stick"
"L": { "item": "minecraft:leather" },
"P": { "item": "minecraft:spruce_planks" }
}, },
"result": { "item": "silverlabs:dragon_nest_spruce" } "W": {
"item": "minecraft:brown_wool"
},
"L": {
"item": "minecraft:leather"
},
"P": {
"item": "minecraft:spruce_planks"
}
},
"result": {
"item": "silverlabs:dragon_nest_spruce"
}
} }
} }

View File

@@ -1,20 +1,34 @@
{ {
"format_version": "1.21.0", "format_version": "1.21.0",
"minecraft:recipe_shaped": { "minecraft:recipe_shaped": {
"description": { "identifier": "silverlabs:dragon_nest_warped_recipe" }, "description": {
"unlock": { "context": "always_unlocked" }, "identifier": "silverlabs:dragon_nest_warped_recipe"
"tags": ["crafting_table"], },
"unlock": [],
"tags": [
"crafting_table"
],
"pattern": [ "pattern": [
"S S", "S S",
"WLW", "WLW",
"PPP" "PPP"
], ],
"key": { "key": {
"S": { "item": "minecraft:stick" }, "S": {
"W": { "item": "minecraft:cyan_wool" }, "item": "minecraft:stick"
"L": { "item": "minecraft:leather" },
"P": { "item": "minecraft:warped_planks" }
}, },
"result": { "item": "silverlabs:dragon_nest_warped" } "W": {
"item": "minecraft:cyan_wool"
},
"L": {
"item": "minecraft:leather"
},
"P": {
"item": "minecraft:warped_planks"
}
},
"result": {
"item": "silverlabs:dragon_nest_warped"
}
} }
} }

View File

@@ -4,16 +4,22 @@
"description": { "description": {
"identifier": "silverlabs:dragon_toy" "identifier": "silverlabs:dragon_toy"
}, },
"unlock": { "context": "always_unlocked" }, "unlock": [],
"tags": ["crafting_table"], "tags": [
"crafting_table"
],
"pattern": [ "pattern": [
" S ", " S ",
"SLS", "SLS",
" S " " S "
], ],
"key": { "key": {
"S": { "item": "minecraft:string" }, "S": {
"L": { "item": "minecraft:leather" } "item": "minecraft:string"
},
"L": {
"item": "minecraft:leather"
}
}, },
"result": { "result": {
"item": "silverlabs:dragon_toy", "item": "silverlabs:dragon_toy",

View File

@@ -4,15 +4,21 @@
"description": { "description": {
"identifier": "silverlabs:hammock_recipe" "identifier": "silverlabs:hammock_recipe"
}, },
"tags": ["crafting_table"], "tags": [
"unlock": { "context": "AlwaysUnlocked" }, "crafting_table"
],
"unlock": [],
"pattern": [ "pattern": [
"T T", "T T",
"TWWWT" "TWWWT"
], ],
"key": { "key": {
"W": { "item": "minecraft:white_wool" }, "W": {
"T": { "item": "minecraft:string" } "item": "minecraft:white_wool"
},
"T": {
"item": "minecraft:string"
}
}, },
"result": { "result": {
"item": "silverlabs:hammock", "item": "silverlabs:hammock",

View File

@@ -4,16 +4,22 @@
"description": { "description": {
"identifier": "silverlabs:tent_recipe" "identifier": "silverlabs:tent_recipe"
}, },
"tags": ["crafting_table"], "tags": [
"unlock": { "context": "AlwaysUnlocked" }, "crafting_table"
],
"unlock": [],
"pattern": [ "pattern": [
" W ", " W ",
"WWW", "WWW",
"S S" "S S"
], ],
"key": { "key": {
"W": { "item": "minecraft:white_wool" }, "W": {
"S": { "item": "minecraft:stick" } "item": "minecraft:white_wool"
},
"S": {
"item": "minecraft:stick"
}
}, },
"result": { "result": {
"item": "silverlabs:tent", "item": "silverlabs:tent",

View File

@@ -4,11 +4,17 @@
"description": { "description": {
"identifier": "silverlabs:home_sign_recipe" "identifier": "silverlabs:home_sign_recipe"
}, },
"tags": ["crafting_table"], "tags": [
"unlock": { "context": "AlwaysUnlocked" }, "crafting_table"
],
"unlock": [],
"ingredients": [ "ingredients": [
{ "item": "minecraft:oak_sign" }, {
{ "item": "minecraft:red_dye" } "item": "minecraft:oak_sign"
},
{
"item": "minecraft:red_dye"
}
], ],
"result": { "result": {
"item": "silverlabs:home_sign", "item": "silverlabs:home_sign",

View File

@@ -4,16 +4,22 @@
"description": { "description": {
"identifier": "silverlabs:portal_frame_recipe" "identifier": "silverlabs:portal_frame_recipe"
}, },
"unlock": { "context": "always_unlocked" }, "unlock": [],
"tags": ["crafting_table"], "tags": [
"crafting_table"
],
"pattern": [ "pattern": [
" O ", " O ",
"OEO", "OEO",
" O " " O "
], ],
"key": { "key": {
"O": { "item": "minecraft:obsidian" }, "O": {
"E": { "item": "minecraft:ender_pearl" } "item": "minecraft:obsidian"
},
"E": {
"item": "minecraft:ender_pearl"
}
}, },
"result": { "result": {
"item": "silverlabs:portal_frame", "item": "silverlabs:portal_frame",

View File

@@ -4,11 +4,17 @@
"description": { "description": {
"identifier": "silverlabs:portal_jamie_recipe" "identifier": "silverlabs:portal_jamie_recipe"
}, },
"unlock": { "context": "always_unlocked" }, "unlock": [],
"tags": ["crafting_table"], "tags": [
"crafting_table"
],
"ingredients": [ "ingredients": [
{ "item": "silverlabs:portal_frame" }, {
{ "item": "minecraft:emerald" } "item": "silverlabs:portal_frame"
},
{
"item": "minecraft:emerald"
}
], ],
"result": { "result": {
"item": "silverlabs:portal_jamie", "item": "silverlabs:portal_jamie",

View File

@@ -4,11 +4,17 @@
"description": { "description": {
"identifier": "silverlabs:portal_lyla_recipe" "identifier": "silverlabs:portal_lyla_recipe"
}, },
"unlock": { "context": "always_unlocked" }, "unlock": [],
"tags": ["crafting_table"], "tags": [
"crafting_table"
],
"ingredients": [ "ingredients": [
{ "item": "silverlabs:portal_frame" }, {
{ "item": "minecraft:amethyst_shard" } "item": "silverlabs:portal_frame"
},
{
"item": "minecraft:amethyst_shard"
}
], ],
"result": { "result": {
"item": "silverlabs:portal_lyla", "item": "silverlabs:portal_lyla",

View File

@@ -4,11 +4,17 @@
"description": { "description": {
"identifier": "silverlabs:portal_mya_recipe" "identifier": "silverlabs:portal_mya_recipe"
}, },
"unlock": { "context": "always_unlocked" }, "unlock": [],
"tags": ["crafting_table"], "tags": [
"crafting_table"
],
"ingredients": [ "ingredients": [
{ "item": "silverlabs:portal_frame" }, {
{ "item": "minecraft:prismarine_crystals" } "item": "silverlabs:portal_frame"
},
{
"item": "minecraft:prismarine_crystals"
}
], ],
"result": { "result": {
"item": "silverlabs:portal_mya", "item": "silverlabs:portal_mya",

View File

@@ -1,5 +1,5 @@
{ {
"format_version": "1.21.60", "format_version": "1.21.0",
"minecraft:block": { "minecraft:block": {
"description": { "description": {
"identifier": "silverlabs:mailbox", "identifier": "silverlabs:mailbox",

View File

@@ -4,11 +4,17 @@
"description": { "description": {
"identifier": "silverlabs:mailbox_recipe" "identifier": "silverlabs:mailbox_recipe"
}, },
"tags": ["crafting_table"], "tags": [
"unlock": { "context": "AlwaysUnlocked" }, "crafting_table"
],
"unlock": [],
"ingredients": [ "ingredients": [
{ "item": "minecraft:chest" }, {
{ "item": "minecraft:gold_ingot" } "item": "minecraft:chest"
},
{
"item": "minecraft:gold_ingot"
}
], ],
"result": { "result": {
"item": "silverlabs:mailbox", "item": "silverlabs:mailbox",

View File

@@ -4,17 +4,25 @@
"description": { "description": {
"identifier": "silverlabs:post_office_recipe" "identifier": "silverlabs:post_office_recipe"
}, },
"tags": ["crafting_table"], "tags": [
"unlock": { "context": "AlwaysUnlocked" }, "crafting_table"
],
"unlock": [],
"pattern": [ "pattern": [
"III", "III",
"PCP", "PCP",
"PPP" "PPP"
], ],
"key": { "key": {
"I": { "item": "minecraft:iron_ingot" }, "I": {
"P": { "item": "minecraft:oak_planks" }, "item": "minecraft:iron_ingot"
"C": { "item": "minecraft:chest" } },
"P": {
"item": "minecraft:oak_planks"
},
"C": {
"item": "minecraft:chest"
}
}, },
"result": { "result": {
"item": "silverlabs:post_office", "item": "silverlabs:post_office",

View File

@@ -4,11 +4,17 @@
"description": { "description": {
"identifier": "silverlabs:private_chest_recipe" "identifier": "silverlabs:private_chest_recipe"
}, },
"tags": ["crafting_table"], "tags": [
"unlock": { "context": "AlwaysUnlocked" }, "crafting_table"
],
"unlock": [],
"ingredients": [ "ingredients": [
{ "item": "minecraft:chest" }, {
{ "item": "minecraft:iron_ingot" } "item": "minecraft:chest"
},
{
"item": "minecraft:iron_ingot"
}
], ],
"result": { "result": {
"item": "silverlabs:private_chest", "item": "silverlabs:private_chest",

View File

@@ -1,5 +1,5 @@
{ {
"format_version": "1.21.60", "format_version": "1.21.0",
"minecraft:block": { "minecraft:block": {
"description": { "description": {
"identifier": "silverlabs:smart_crafting_table", "identifier": "silverlabs:smart_crafting_table",

View File

@@ -4,12 +4,20 @@
"description": { "description": {
"identifier": "silverlabs:smart_crafting_table_recipe" "identifier": "silverlabs:smart_crafting_table_recipe"
}, },
"tags": ["crafting_table"], "tags": [
"unlock": { "context": "AlwaysUnlocked" }, "crafting_table"
],
"unlock": [],
"ingredients": [ "ingredients": [
{ "item": "minecraft:crafting_table" }, {
{ "item": "minecraft:gold_ingot" }, "item": "minecraft:crafting_table"
{ "item": "minecraft:redstone" } },
{
"item": "minecraft:gold_ingot"
},
{
"item": "minecraft:redstone"
}
], ],
"result": { "result": {
"item": "silverlabs:smart_crafting_table", "item": "silverlabs:smart_crafting_table",