Skip to content

Commit d0635e6

Browse files
authored
Fix recipe issues (#2259)
Fixes #2258
1 parent 9e6cfa6 commit d0635e6

File tree

4 files changed

+13
-2
lines changed

4 files changed

+13
-2
lines changed

src/main/java/cn/nukkit/inventory/CraftingManager.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,16 @@ public CraftingManager() {
193193
case "minecraft:tnt":
194194
inputItem = Item.get(BlockID.SAND, 0, 1);
195195
break;
196+
// TODO: bedrock allows alternative materials for some trim duplication
197+
case "minecraft:dune_armor_trim_smithing_template_duplicate":
198+
inputItem = Item.get(BlockID.SANDSTONE, 0, 1);
199+
break;
200+
case "minecraft:spire_armor_trim_smithing_template_duplicate":
201+
inputItem = Item.get(BlockID.PURPUR_BLOCK, 0, 1);
202+
break;
203+
case "minecraft:tide_armor_trim_smithing_template_duplicate":
204+
inputItem = Item.get(BlockID.PRISMARINE, 0, 1);
205+
break;
196206
}
197207
if (Nukkit.DEBUG > 1 && inputItem == null) {
198208
MainLogger.getLogger().debug("Missing shaped ingredient complex_alias: " + recipe);

src/main/java/cn/nukkit/inventory/ShapedRecipe.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public ShapedRecipe(String recipeId, int priority, Item primaryResult, String[]
8484
this.shape = shape;
8585

8686
for (Map.Entry<Character, Item> entry : ingredients.entrySet()) {
87-
this.setIngredient(entry.getKey(), entry.getValue());
87+
this.setIngredient(entry.getKey(), entry.getValue().clone()); // Clone because reused to expand legacy meta in recipes
8888
}
8989

9090
this.ingredientsAggregate = new ArrayList<>();

src/main/java/cn/nukkit/utils/material/tags/MaterialTags.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ public class MaterialTags {
9292
public static final MaterialTag WOODEN_SLABS = register("minecraft:wooden_slabs", new LazilyInitializedMaterialTag("minecraft:wooden_slabs"));
9393
public static final MaterialTag WOODEN_TIER = register("minecraft:wooden_tier", new LazilyInitializedMaterialTag("minecraft:wooden_tier"));
9494
public static final MaterialTag WOOL = register("minecraft:wool", new LazilyInitializedMaterialTag("minecraft:wool"));
95+
public static final MaterialTag EGG = register("minecraft:egg", new LazilyInitializedMaterialTag("minecraft:egg"));
9596

9697
public static MaterialTag register(String tagName, MaterialTag tag) {
9798
if (tags.containsKey(tagName)) {

0 commit comments

Comments
 (0)