From f1a3387fbff9ca57245fb6d05881fd1a90f96312 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Sat, 10 Mar 2018 19:50:24 +0000 Subject: [PATCH] Add extractor support to craft tweaker --- .../api/recipe/machines/ExtractorRecipe.java | 4 +- .../compat/crafttweaker/CTExtractor.java | 44 +++++++++++++++++++ .../crafttweaker/CraftTweakerCompat.java | 1 + 3 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 src/main/java/techreborn/compat/crafttweaker/CTExtractor.java diff --git a/src/main/java/techreborn/api/recipe/machines/ExtractorRecipe.java b/src/main/java/techreborn/api/recipe/machines/ExtractorRecipe.java index 6b1c99ace..95693cc0a 100644 --- a/src/main/java/techreborn/api/recipe/machines/ExtractorRecipe.java +++ b/src/main/java/techreborn/api/recipe/machines/ExtractorRecipe.java @@ -32,7 +32,7 @@ public class ExtractorRecipe extends BaseRecipe { boolean useOreDic = true; - public ExtractorRecipe(ItemStack input1, ItemStack output1, int tickTime, int euPerTick) { + public ExtractorRecipe(Object input1, ItemStack output1, int tickTime, int euPerTick) { super(Reference.EXTRACTOR_RECIPE, tickTime, euPerTick); if (input1 != null) addInput(input1); @@ -40,7 +40,7 @@ public class ExtractorRecipe extends BaseRecipe { addOutput(output1); } - public ExtractorRecipe(ItemStack input1, ItemStack output1, int tickTime, int euPerTick, boolean useOreDic) { + public ExtractorRecipe(Object input1, ItemStack output1, int tickTime, int euPerTick, boolean useOreDic) { this(input1, output1, tickTime, euPerTick); this.useOreDic = useOreDic; } diff --git a/src/main/java/techreborn/compat/crafttweaker/CTExtractor.java b/src/main/java/techreborn/compat/crafttweaker/CTExtractor.java new file mode 100644 index 000000000..55a700aff --- /dev/null +++ b/src/main/java/techreborn/compat/crafttweaker/CTExtractor.java @@ -0,0 +1,44 @@ +package techreborn.compat.crafttweaker; + +import crafttweaker.CraftTweakerAPI; +import crafttweaker.api.item.IIngredient; +import crafttweaker.api.item.IItemStack; +import stanhebben.zenscript.annotations.ZenClass; +import stanhebben.zenscript.annotations.ZenMethod; +import techreborn.api.Reference; +import techreborn.api.recipe.machines.ExtractorRecipe; + +/** + * mods.techreborn.extractor.addRecipe(, , 20, 100); + */ +@ZenClass("mods.techreborn.extractor") +public class CTExtractor extends CTGeneric { + @ZenMethod + public static void addRecipe(IItemStack output, IIngredient input1, int ticktime, int euTick) { + Object oInput1 = CraftTweakerCompat.toObject(input1); + + ExtractorRecipe r = new ExtractorRecipe(oInput1, CraftTweakerCompat.toStack(output), ticktime, euTick); + + addRecipe(r); + } + + @ZenMethod + public static void removeInputRecipe(IIngredient iIngredient) { + CraftTweakerAPI.apply(new RemoveInput(iIngredient, getMachineName())); + } + + @ZenMethod + public static void removeRecipe(IItemStack output) { + CraftTweakerAPI.apply(new Remove(CraftTweakerCompat.toStack(output), getMachineName())); + } + + @ZenMethod + public static void removeAll(){ + CraftTweakerAPI.apply(new RemoveAll(getMachineName())); + } + + public static String getMachineName() { + return Reference.EXTRACTOR_RECIPE; + } + +} diff --git a/src/main/java/techreborn/compat/crafttweaker/CraftTweakerCompat.java b/src/main/java/techreborn/compat/crafttweaker/CraftTweakerCompat.java index 1a8f63fba..caddf56e9 100644 --- a/src/main/java/techreborn/compat/crafttweaker/CraftTweakerCompat.java +++ b/src/main/java/techreborn/compat/crafttweaker/CraftTweakerCompat.java @@ -89,6 +89,7 @@ public class CraftTweakerCompat implements ICompatModule { CraftTweakerAPI.registerClass(CTScrapbox.class); CraftTweakerAPI.registerClass(CTDistillationTower.class); CraftTweakerAPI.registerClass(CTGrinder.class); + CraftTweakerAPI.registerClass(CTExtractor.class); } @Override