diff --git a/src/main/java/minechem/oredictionary/OreDictionaryDefaultHandler.java b/src/main/java/minechem/oredictionary/OreDictionaryDefaultHandler.java index 5dfe18507..686d54695 100644 --- a/src/main/java/minechem/oredictionary/OreDictionaryDefaultHandler.java +++ b/src/main/java/minechem/oredictionary/OreDictionaryDefaultHandler.java @@ -108,7 +108,7 @@ public void handle(String oreName) case crystal: case gem: DecomposerRecipe.createAndAddRecipeSafely(oreName, ore.getComposition()); - SynthesisRecipe.createAndAddRecipeSafely(oreName, false, MinechemRecipes.COST_GEM, ore.getComposition()); + SynthesisRecipe.createAndAddRecipeSafely(oreName, true, MinechemRecipes.COST_GEM, startAtRow(2, ore.getComposition())); break; default: LogHelper.debug(OreDictionaryDefaultHandler.class.getSimpleName() + " : Invalid ore dictionary type."); @@ -118,6 +118,19 @@ public void handle(String oreName) seen(ore, prefix); } + private PotionChemical[] startAtRow(int row, PotionChemical[] composition) + { + PotionChemical[] array = new PotionChemical[9]; + int j = 0; + for (int i = (row * 3) -1; i < array.length; i++) + { + array[i] = composition[j]; + if (++j >= composition.length) + break; + } + return array; + } + private void unregisterIngot(OreDictionaryBaseOreEnum ore) { if (registeredIngots.containsKey(ore))