IC2C Blast Furnace

This commit is contained in:
jaredlll08 2015-08-16 23:51:35 +02:00
parent 8086960f4c
commit 3f17aa2c86
2 changed files with 77 additions and 0 deletions

8
.gitignore vendored
View file

@ -112,3 +112,11 @@
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/

View file

@ -0,0 +1,69 @@
package modtweaker2.mods.ic2c.mods;
import ic2.api.recipe.IRecipeInput;
import ic2.api.recipe.RecipeInputItemStack;
import ic2.api.recipe.RecipeOutput;
import ic2.api.recipe.Recipes;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;
import minetweaker.MineTweakerAPI;
import minetweaker.api.item.IItemStack;
import modtweaker2.helpers.InputHelper;
import modtweaker2.utils.BaseMapAddition;
import modtweaker2.utils.BaseMapRemoval;
import net.minecraft.item.ItemStack;
import stanhebben.zenscript.annotations.ZenClass;
import stanhebben.zenscript.annotations.ZenMethod;
@ZenClass("mods.ic2classic.BlastFurnace")
public class BlastFurnace {
@ZenMethod
public static void addRecipe(IItemStack output, IItemStack input) {
MineTweakerAPI.apply(new Add(InputHelper.toStack(output), InputHelper.toStack(input)));
}
private static class Add extends BaseMapAddition<IRecipeInput, RecipeOutput> {
protected Add(ItemStack output, ItemStack input) {
super("BlastFurnace", Recipes.blastfurance.getRecipes());
recipes.put(new RecipeInputItemStack(input), new RecipeOutput(null, output));
}
@Override
protected String getRecipeInfo(Entry<IRecipeInput, RecipeOutput> recipe) {
return recipe.toString();
}
}
@ZenMethod
public static void removeRecipe(IItemStack output) {
LinkedHashMap<IRecipeInput, RecipeOutput> recipes = new LinkedHashMap<IRecipeInput, RecipeOutput>();
for (Entry<IRecipeInput, RecipeOutput> set : Recipes.blastfurance.getRecipes().entrySet()) {
for (ItemStack stack : set.getValue().items) {
if (stack.isItemEqual(InputHelper.toStack(output))) {
recipes.put(set.getKey(), set.getValue());
}
}
}
MineTweakerAPI.apply(new Remove(recipes));
}
private static class Remove extends BaseMapRemoval<IRecipeInput, RecipeOutput> {
protected Remove(Map<IRecipeInput, RecipeOutput> recipes) {
super("BlastFurnace", Recipes.blockcutter.getRecipes(), recipes);
}
@Override
protected String getRecipeInfo(Entry<IRecipeInput, RecipeOutput> recipe) {
return recipe.toString();
}
}
}