Skip to content

Commit

Permalink
Fixed registry handling so recipes will be correct.
Browse files Browse the repository at this point in the history
Remove jei from build, provided elsewhere.
  • Loading branch information
wendall911 committed Jun 1, 2018
1 parent 7f39d6b commit 20ff24f
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 32 deletions.
2 changes: 0 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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}"
}
Expand Down
3 changes: 1 addition & 2 deletions build.properties
Original file line number Diff line number Diff line change
@@ -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
78 changes: 50 additions & 28 deletions src/main/java/tinkersurvival/recipe/TinkerSurvivalRecipes.java
Original file line number Diff line number Diff line change
@@ -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;
Expand Down Expand Up @@ -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<String, Object> config = new HashMap<String, Object>();

config.put("output", output);
config.put("input", input);
config.put("tool", tool);

return config;
}

public static void updateRecipes() {
Map<String, String> woodOreMap = new HashMap<>();
int WILDCARD = OreDictionary.WILDCARD_VALUE;
List<HashMap> woodOreRecipes = new ArrayList<HashMap>();
String[] woodItems = {
"logWood",
"plankWood",
Expand Down Expand Up @@ -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) {
Expand All @@ -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);
}
Expand All @@ -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();
Expand Down

0 comments on commit 20ff24f

Please sign in to comment.