From 7dffebf5f68fbf6baaeb936915e55278e8f0cce7 Mon Sep 17 00:00:00 2001 From: jaredlll08 Date: Mon, 27 Apr 2015 04:16:18 +0200 Subject: [PATCH] Adde AE2 grinder --- build.gradle | 2 +- src/main/java/modtweaker2/ModTweaker2.java | 7 +- .../java/modtweaker2/helpers/InputHelper.java | 7 +- .../mods/appeng/AppliedEnergistics.java | 3 + .../mods/appeng/handlers/Grind.java | 66 +++++++++++++++++++ .../mods/botania/handlers/Lexicon.java | 1 - 6 files changed, 75 insertions(+), 11 deletions(-) create mode 100644 src/main/java/modtweaker2/mods/appeng/handlers/Grind.java diff --git a/build.gradle b/build.gradle index beb0063..2cd0127 100644 --- a/build.gradle +++ b/build.gradle @@ -17,7 +17,7 @@ buildscript { apply plugin: 'forge' -version = "0.8.2" +version = "0.8.1" group= "modtweaker" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "ModTweaker 2" diff --git a/src/main/java/modtweaker2/ModTweaker2.java b/src/main/java/modtweaker2/ModTweaker2.java index a169feb..54476da 100644 --- a/src/main/java/modtweaker2/ModTweaker2.java +++ b/src/main/java/modtweaker2/ModTweaker2.java @@ -1,11 +1,7 @@ package modtweaker2; -import java.util.Iterator; - import minetweaker.MineTweakerImplementationAPI; import minetweaker.MineTweakerImplementationAPI.ReloadEvent; -import minetweaker.runtime.IScriptIterator; -import minetweaker.runtime.IScriptProvider; import minetweaker.util.IEventHandler; import modtweaker2.mods.appeng.AppliedEnergistics; import modtweaker2.mods.auracascade.AuraCascade; @@ -41,7 +37,6 @@ import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.event.FMLServerStartingEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.relauncher.Side; @Mod(modid = ModProps.modid, version = ModProps.version, dependencies = ModProps.dependencies) @@ -81,7 +76,7 @@ public class ModTweaker2 { TweakerPlugin.register("Forestry", Forestry.class); TweakerPlugin.register("chisel", Chisel.class); TweakerPlugin.register("aura", AuraCascade.class); - + if (FMLCommonHandler.instance().getSide() == Side.CLIENT) { MinecraftForge.EVENT_BUS.register(new ClientEvents()); } diff --git a/src/main/java/modtweaker2/helpers/InputHelper.java b/src/main/java/modtweaker2/helpers/InputHelper.java index 869a2ea..4f2b552 100644 --- a/src/main/java/modtweaker2/helpers/InputHelper.java +++ b/src/main/java/modtweaker2/helpers/InputHelper.java @@ -1,6 +1,9 @@ package modtweaker2.helpers; +import java.util.ArrayList; + import minetweaker.MineTweakerAPI; +import minetweaker.api.entity.IEntity; import minetweaker.api.item.IIngredient; import minetweaker.api.item.IItemStack; import minetweaker.api.liquid.ILiquidStack; @@ -12,8 +15,6 @@ import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; -import java.util.ArrayList; - public class InputHelper { public static boolean isABlock(IItemStack block) { if (!(isABlock(toStack(block)))) { @@ -41,7 +42,7 @@ public class InputHelper { return block.getItem() instanceof ItemBlock; } - public static Entity toEntity() { + public static Entity toEntity(IEntity iEntity) { return null; } diff --git a/src/main/java/modtweaker2/mods/appeng/AppliedEnergistics.java b/src/main/java/modtweaker2/mods/appeng/AppliedEnergistics.java index 2f1c637..abeb0a1 100644 --- a/src/main/java/modtweaker2/mods/appeng/AppliedEnergistics.java +++ b/src/main/java/modtweaker2/mods/appeng/AppliedEnergistics.java @@ -1,12 +1,15 @@ package modtweaker2.mods.appeng; import minetweaker.MineTweakerAPI; +import modtweaker2.mods.appeng.handlers.Grind; import modtweaker2.mods.appeng.handlers.Inscriber; public class AppliedEnergistics { public AppliedEnergistics() { MineTweakerAPI.registerClass(Inscriber.class); + MineTweakerAPI.registerClass(Grind.class); + } } diff --git a/src/main/java/modtweaker2/mods/appeng/handlers/Grind.java b/src/main/java/modtweaker2/mods/appeng/handlers/Grind.java new file mode 100644 index 0000000..98e2fb2 --- /dev/null +++ b/src/main/java/modtweaker2/mods/appeng/handlers/Grind.java @@ -0,0 +1,66 @@ +package modtweaker2.mods.appeng.handlers; + +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.item.ItemStack; +import minetweaker.MineTweakerAPI; +import minetweaker.api.item.IItemStack; +import modtweaker2.helpers.InputHelper; +import modtweaker2.utils.BaseListAddition; +import modtweaker2.utils.BaseListRemoval; +import stanhebben.zenscript.annotations.ZenClass; +import stanhebben.zenscript.annotations.ZenMethod; +import appeng.api.AEApi; +import appeng.api.features.IGrinderEntry; +import appeng.core.features.registries.entries.AppEngGrinderRecipe; + +@ZenClass("mods.appeng.Grinder") +public class Grind { + + @ZenMethod + public static void addRecipe(IItemStack input, IItemStack output, int energy) { + MineTweakerAPI.apply(new Add(new AppEngGrinderRecipe(InputHelper.toStack(input), InputHelper.toStack(output), energy))); + } + + private static class Add extends BaseListAddition { + + public Add(AppEngGrinderRecipe recipe) { + super(AEApi.instance().registries().grinder().getRecipes(), recipe); + } + + @Override + public void apply() { + AEApi.instance().registries().grinder().getRecipes().add((AppEngGrinderRecipe) recipe); + } + } + + @ZenMethod + public static void removeRecipe(IItemStack output) { + MineTweakerAPI.apply(new Remove(InputHelper.toStack(output))); + } + + private static class Remove extends BaseListRemoval { + + public Remove(ItemStack stack) { + super(AEApi.instance().registries().grinder().getRecipes(), stack); + } + + @Override + public void apply() { + ArrayList toRemove = new ArrayList(); + + for (IGrinderEntry r : AEApi.instance().registries().grinder().getRecipes()) { + if (r.getOutput().isItemEqual(stack)) { + toRemove.add(r); + } + } + for (IGrinderEntry r : toRemove) { + AEApi.instance().registries().grinder().getRecipes().remove(r); + } + + } + + } + +} \ No newline at end of file diff --git a/src/main/java/modtweaker2/mods/botania/handlers/Lexicon.java b/src/main/java/modtweaker2/mods/botania/handlers/Lexicon.java index 8204301..5b8e72c 100644 --- a/src/main/java/modtweaker2/mods/botania/handlers/Lexicon.java +++ b/src/main/java/modtweaker2/mods/botania/handlers/Lexicon.java @@ -369,7 +369,6 @@ public class Lexicon { LexiconEntry lexiconEntry=new LexiconEntry(entry,lexiconCategory); MineTweakerAPI.apply(new AddEntry(lexiconEntry)); } - @ZenMethod public static void removeEntry(String entry) { LexiconEntry lexiconEntry=BotaniaHelper.findEntry(entry);