diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/java/JavaDeclareRecipesTranslator.java b/connector/src/main/java/org/geysermc/connector/network/translators/java/JavaDeclareRecipesTranslator.java index 8d01470e0..4b456c0c4 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/java/JavaDeclareRecipesTranslator.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/java/JavaDeclareRecipesTranslator.java @@ -85,6 +85,10 @@ public class JavaDeclareRecipesTranslator extends PacketTranslator { ShapelessRecipeData shapelessRecipeData = (ShapelessRecipeData) recipe.getData(); ItemData output = ItemTranslator.translateToBedrock(session, shapelessRecipeData.getResult()); + if (output.equals(ItemData.AIR)) { + // Likely modded item that Bedrock will complain about if it persists + continue; + } // Strip NBT - tools won't appear in the recipe book otherwise output = output.toBuilder().tag(null).build(); ItemData[][] inputCombinations = combinations(session, shapelessRecipeData.getIngredients()); @@ -98,6 +102,10 @@ public class JavaDeclareRecipesTranslator extends PacketTranslator { ShapedRecipeData shapedRecipeData = (ShapedRecipeData) recipe.getData(); ItemData output = ItemTranslator.translateToBedrock(session, shapedRecipeData.getResult()); + if (output.equals(ItemData.AIR)) { + // Likely modded item that Bedrock will complain about if it persists + continue; + } // See above output = output.toBuilder().tag(null).build(); ItemData[][] inputCombinations = combinations(session, shapedRecipeData.getIngredients()); @@ -136,7 +144,9 @@ public class JavaDeclareRecipesTranslator extends PacketTranslator - session.getItemMappings().getItems().get(stoneCuttingRecipeData.getResult().getId()).getJavaIdentifier()))); + session.getItemMappings().getItems() + .getOrDefault(stoneCuttingRecipeData.getResult().getId(), ItemMapping.AIR) + .getJavaIdentifier()))); // Now that it's sorted, let's translate these recipes for (StoneCuttingRecipeData stoneCuttingData : data.getValue()) { @@ -144,6 +154,10 @@ public class JavaDeclareRecipesTranslator extends PacketTranslator new IntArrayList()); outputs.add(stoneCuttingData.getResult().getId()); } }