diff --git a/.gitignore b/.gitignore index f0dc36d..e51e066 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,55 @@ /bin/ /bin/ /bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ +/bin/ diff --git a/libs/IC2 Classic Version 1.1.0.16.1 (Dev) (1).jar b/libs/IC2 Classic Version 1.1.0.16.1 (Dev) (1).jar new file mode 100644 index 0000000..30100bb Binary files /dev/null and b/libs/IC2 Classic Version 1.1.0.16.1 (Dev) (1).jar differ diff --git a/src/main/java/modtweaker2/ModTweaker2.java b/src/main/java/modtweaker2/ModTweaker2.java index 1b0f8d6..cc4fdb1 100644 --- a/src/main/java/modtweaker2/ModTweaker2.java +++ b/src/main/java/modtweaker2/ModTweaker2.java @@ -16,6 +16,7 @@ import modtweaker2.mods.extraUtils.ExtraUtils; import modtweaker2.mods.factorization.Factorization; import modtweaker2.mods.forestry.Forestry; import modtweaker2.mods.fsp.Steamcraft; +import modtweaker2.mods.ic2c.IC2C; import modtweaker2.mods.mariculture.Mariculture; import modtweaker2.mods.mekanism.Mekanism; import modtweaker2.mods.metallurgy.Metallurgy; @@ -84,6 +85,7 @@ public class ModTweaker2 { TweakerPlugin.register("chisel", Chisel.class); TweakerPlugin.register("aura", AuraCascade.class); TweakerPlugin.register("ExtraUtilities", ExtraUtils.class); + TweakerPlugin.register("IC2", IC2C.class); if (FMLCommonHandler.instance().getSide() == Side.CLIENT) { diff --git a/src/main/java/modtweaker2/mods/ic2c/IC2C.java b/src/main/java/modtweaker2/mods/ic2c/IC2C.java new file mode 100644 index 0000000..d3b705f --- /dev/null +++ b/src/main/java/modtweaker2/mods/ic2c/IC2C.java @@ -0,0 +1,11 @@ +package modtweaker2.mods.ic2c; + +import minetweaker.MineTweakerAPI; +import modtweaker2.mods.ic2c.mods.Macerator; + +public class IC2C { + + public IC2C() { + MineTweakerAPI.registerClass(Macerator.class); + } +} diff --git a/src/main/java/modtweaker2/mods/ic2c/mods/Macerator.java b/src/main/java/modtweaker2/mods/ic2c/mods/Macerator.java new file mode 100644 index 0000000..2aece42 --- /dev/null +++ b/src/main/java/modtweaker2/mods/ic2c/mods/Macerator.java @@ -0,0 +1,70 @@ +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 java.util.Set; + +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.Macerator") +public class Macerator { + + @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 { + + protected Add(ItemStack output, ItemStack input) { + super("Macerator", Recipes.macerator.getRecipes()); + recipes.put(new RecipeInputItemStack(input), new RecipeOutput(null, output)); + } + + @Override + protected String getRecipeInfo(Entry recipe) { + return recipe.toString(); + } + + } + + @ZenMethod + public static void removeRecipe(IItemStack output) { + LinkedHashMap recipes = new LinkedHashMap(); + for (Entry set : Recipes.macerator.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 { + + protected Remove(Map recipes) { + super("Macerator", Recipes.macerator.getRecipes(), recipes); + } + + @Override + protected String getRecipeInfo(Entry recipe) { + return recipe.toString(); + } + + } + +}