From 20ff24f6f64aa8ee18dd012ad685ec0d3b0c199c Mon Sep 17 00:00:00 2001 From: Wendall Cada Date: Fri, 1 Jun 2018 10:55:09 -0700 Subject: [PATCH] Fixed registry handling so recipes will be correct. Remove jei from build, provided elsewhere. --- build.gradle | 2 - build.properties | 3 +- .../recipe/TinkerSurvivalRecipes.java | 78 ++++++++++++------- 3 files changed, 51 insertions(+), 32 deletions(-) diff --git a/build.gradle b/build.gradle index 9d317fc..bd3f742 100644 --- a/build.gradle +++ b/build.gradle @@ -67,8 +67,6 @@ minecraft { } dependencies { - deobfProvided "mezz.jei:jei_${config.minecraft_version}:${config.jei_version}:api" - runtime "mezz.jei:jei_${config.minecraft_version}:${config.jei_version}" deobfCompile "slimeknights.mantle:Mantle:${config.minecraft_short_version}-${config.mantle_version}" deobfCompile "slimeknights:TConstruct:${config.minecraft_version}-${config.tic_version}" } diff --git a/build.properties b/build.properties index 7e6ddda..ca4a2bf 100644 --- a/build.properties +++ b/build.properties @@ -1,13 +1,12 @@ mod_name=TinkerSurvival modid=tinkersurvival -mod_version=1.0.1.11 +mod_version=1.0.1.12 last_mod_version=1.0.1.10 cf_release_type=release minecraft_version=1.12.2 minecraft_short_version=1.12 forge_version=14.23.4.2705 mappings=snapshot_nodoc_20171220 -jei_version=4.9.+ mantle_version=1.3+ tic_version=2+ ttl_version=1.0.4 diff --git a/src/main/java/tinkersurvival/recipe/TinkerSurvivalRecipes.java b/src/main/java/tinkersurvival/recipe/TinkerSurvivalRecipes.java index 98b91fb..0a5f0de 100644 --- a/src/main/java/tinkersurvival/recipe/TinkerSurvivalRecipes.java +++ b/src/main/java/tinkersurvival/recipe/TinkerSurvivalRecipes.java @@ -1,6 +1,8 @@ package tinkersurvival.recipe; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import net.minecraft.init.Blocks; @@ -77,32 +79,29 @@ private static void addKnifeRecipe(ItemStack input, ItemStack output, String too registerShaped(output, "T", "I", 'I', input, 'T', tool); } - private static void addStickPlankRecipe(ItemStack output, ItemStack input, String tool) { - registerShaped(output, "T", "P", 'P', input, 'T', tool); - } - - private static void addLogRecipe(ItemStack output, ItemStack input, String tool) { - registerShaped(output, "T", "P", 'P', input, 'T', tool); - } - private static void registerShaped(ItemStack output, Object... inputs) { RecipeHelper.addShapedOreRecipe(output, inputs); } - private static ItemStack getSafeItem(String name) { - return getSafeItem(name, 0, 1); - } - private static ItemStack getSafeItem(String name, int count) { - return getSafeItem(name, 0, count); - } private static ItemStack getSafeItem(String name, int meta, int count) { Item item = Item.getByNameOrId(name); return item == null ? ItemStack.EMPTY : new ItemStack(item, count, meta); } + private static HashMap getRecipeConfig(ItemStack output, ItemStack input, String tool) { + HashMap config = new HashMap(); + + config.put("output", output); + config.put("input", input); + config.put("tool", tool); + + return config; + } + public static void updateRecipes() { Map woodOreMap = new HashMap<>(); int WILDCARD = OreDictionary.WILDCARD_VALUE; + List woodOreRecipes = new ArrayList(); String[] woodItems = { "logWood", "plankWood", @@ -135,7 +134,6 @@ public static void updateRecipes() { if (woodOreMap.get(outputName) != null) { String outputType = woodOreMap.get(outputName); - String msg = "Replaced recipe for: " + outputName; if (recipe.getIngredients().size() > 0 && recipe.getIngredients().get(0).getMatchingStacks().length > 0) { @@ -147,27 +145,39 @@ public static void updateRecipes() { if (woodOreMap.get(inputName) == null) { inputName = inputRegName + ":" + inputMeta; } - if (woodOreMap.get(inputName) != null) { + if (woodOreMap.get(inputName) != null + && (outputType.equals("plankWood") || outputType.contains("stick"))) { String inputType = woodOreMap.get(inputName); - - input.setCount(1); - output.setCount(2); + String msg = "Replaced recipe for: " + recipe.getRegistryName(); + ItemStack inputItem = getSafeItem(inputRegName, inputMeta, 1); + ItemStack twoOutputItems = getSafeItem(outputRegName, outputMeta, 2); + ItemStack fourOutputItems = getSafeItem(outputRegName, outputMeta, 4); if (outputType.equals("plankWood")) { - addLogRecipe(output, input, "crudeSaw"); - - output.setCount(4); - addLogRecipe(output, input, "ticSaw"); - + woodOreRecipes.add(getRecipeConfig(twoOutputItems, inputItem, "crudeSaw")); + woodOreRecipes.add(getRecipeConfig(fourOutputItems, inputItem, "ticSaw")); RecipeHelper.addFakeRecipe(recipe); TinkerSurvival.logger.info(msg); } else if (inputType.contains("plank") && outputType.contains("stick")) { - - addStickPlankRecipe(output, input, "crudeSaw"); - addStickPlankRecipe(output, input, "ticSaw"); - + // Not sure how minecraft:stick recipe works + if (outputRegName.equals("minecraft:stick")) { + woodOreRecipes.add(getRecipeConfig( + twoOutputItems, + getSafeItem(inputRegName, WILDCARD, 1), + "crudeSaw" + )); + woodOreRecipes.add(getRecipeConfig( + twoOutputItems, + getSafeItem(inputRegName, WILDCARD, 1), + "ticSaw" + )); + } + else { + woodOreRecipes.add(getRecipeConfig(twoOutputItems, inputItem, "crudeSaw")); + woodOreRecipes.add(getRecipeConfig(twoOutputItems, inputItem, "ticSaw")); + } RecipeHelper.addFakeRecipe(recipe); TinkerSurvival.logger.info(msg); } @@ -177,6 +187,18 @@ else if (inputType.contains("plank") } } + woodOreRecipes.forEach(config -> { + registerShaped( + (ItemStack) config.get("output"), + "T", + "P", + 'P', + (ItemStack) config.get("input"), + 'T', + (String) config.get("tool") + ); + }); + initKnifeRecipes(); initSmeltingRecipes(); initBowlRecipes();