diff --git a/libs/[1.7.10]TerraFirmaCraft-deobf-0.79.17.jar b/libs/[1.7.10]TerraFirmaCraft-deobf-0.79.17.jar new file mode 100644 index 0000000..853c43f Binary files /dev/null and b/libs/[1.7.10]TerraFirmaCraft-deobf-0.79.17.jar differ diff --git a/src/main/java/modtweaker2/ModTweaker2.java b/src/main/java/modtweaker2/ModTweaker2.java index 863547a..47affa0 100644 --- a/src/main/java/modtweaker2/ModTweaker2.java +++ b/src/main/java/modtweaker2/ModTweaker2.java @@ -16,6 +16,7 @@ import modtweaker2.mods.metallurgy.Metallurgy; import modtweaker2.mods.pneumaticcraft.PneumaticCraft; import modtweaker2.mods.railcraft.Railcraft; import modtweaker2.mods.tconstruct.TConstruct; +import modtweaker2.mods.tfcraft.TerraFirmaCraft; import modtweaker2.mods.thaumcraft.Thaumcraft; import modtweaker2.mods.thermalexpansion.ThermalExpansion; import modtweaker2.utils.TweakerPlugin; @@ -63,6 +64,7 @@ public class ModTweaker2 { TweakerPlugin.register("Railcraft", Railcraft.class); TweakerPlugin.register("Steamcraft", Steamcraft.class); TweakerPlugin.register("TConstruct", TConstruct.class); + TweakerPlugin.register("terrafirmacraft", TerraFirmaCraft.class); TweakerPlugin.register("Thaumcraft", Thaumcraft.class); TweakerPlugin.register("ThermalExpansion", ThermalExpansion.class); TweakerPlugin.register("Forestry", Forestry.class); diff --git a/src/main/java/modtweaker2/mods/tfcraft/TFCHelper.java b/src/main/java/modtweaker2/mods/tfcraft/TFCHelper.java new file mode 100644 index 0000000..1413884 --- /dev/null +++ b/src/main/java/modtweaker2/mods/tfcraft/TFCHelper.java @@ -0,0 +1,27 @@ +package modtweaker2.mods.tfcraft; + +import java.util.List; + +import net.minecraft.item.ItemStack; + +import com.bioxx.tfc.api.Crafting.AnvilManager; +import com.bioxx.tfc.api.Crafting.AnvilRecipe; +import com.bioxx.tfc.api.Crafting.BarrelManager; +import com.bioxx.tfc.api.Crafting.BarrelRecipe; +import com.bioxx.tfc.api.Crafting.KilnCraftingManager; +import com.bioxx.tfc.api.Crafting.KilnRecipe; +import com.bioxx.tfc.api.Crafting.QuernManager; +import com.bioxx.tfc.api.Crafting.QuernRecipe; + +public class TFCHelper { + + private TFCHelper(){} + + public static List anvilRecipes = AnvilManager.getInstance().getRecipeList(); + public static List anvilWeldRecipes = AnvilManager.getInstance().getWeldRecipeList(); + public static List barrelRecipes = BarrelManager.getInstance().getRecipes(); + public static List kilnRecipes = KilnCraftingManager.getInstance().getRecipeList(); + public static List quernRecipes = QuernManager.getInstance().getRecipes(); + public static List quernVaildItems = QuernManager.getInstance().getValidItems(); + +} diff --git a/src/main/java/modtweaker2/mods/tfcraft/TerraFirmaCraft.java b/src/main/java/modtweaker2/mods/tfcraft/TerraFirmaCraft.java new file mode 100644 index 0000000..f92388a --- /dev/null +++ b/src/main/java/modtweaker2/mods/tfcraft/TerraFirmaCraft.java @@ -0,0 +1,17 @@ +package modtweaker2.mods.tfcraft; + +import minetweaker.MineTweakerAPI; +import modtweaker2.mods.tfcraft.handlers.Anvil; +import modtweaker2.mods.tfcraft.handlers.Barrel; +import modtweaker2.mods.tfcraft.handlers.Kiln; +import modtweaker2.mods.tfcraft.handlers.Quern; + +public class TerraFirmaCraft { + + public TerraFirmaCraft(){ + MineTweakerAPI.registerClass(Anvil.class); + MineTweakerAPI.registerClass(Barrel.class); + MineTweakerAPI.registerClass(Kiln.class); + MineTweakerAPI.registerClass(Quern.class); + } +} diff --git a/src/main/java/modtweaker2/mods/tfcraft/handlers/Anvil.java b/src/main/java/modtweaker2/mods/tfcraft/handlers/Anvil.java new file mode 100644 index 0000000..70bb077 --- /dev/null +++ b/src/main/java/modtweaker2/mods/tfcraft/handlers/Anvil.java @@ -0,0 +1,45 @@ +package modtweaker2.mods.tfcraft.handlers; + +import static modtweaker2.helpers.InputHelper.toStack; + +import minetweaker.MineTweakerAPI; +import minetweaker.api.item.IItemStack; +import modtweaker2.mods.tfcraft.TFCHelper; +import modtweaker2.utils.BaseListAddition; +import stanhebben.zenscript.annotations.ZenClass; +import stanhebben.zenscript.annotations.ZenMethod; + +import com.bioxx.tfc.api.Crafting.AnvilRecipe; + +@ZenClass("mods.tfcraft.Anvil") +public class Anvil { + + @ZenMethod + public static void add(IItemStack output, IItemStack input1, IItemStack input2, String plan, int value, boolean flux, int req){ + MineTweakerAPI.apply(new Add(new AnvilRecipe(toStack(input1), toStack(input2), plan, value, flux, req, toStack(output)))); + } + + /** + * For weld recipe, flux == true, definitely. + */ + @ZenMethod + public static void addWeld(IItemStack output, IItemStack input1, IItemStack input2, String plan, int value, int req){ + MineTweakerAPI.apply(new AddWeld(new AnvilRecipe(toStack(input1), toStack(input2), plan, value, true, req, toStack(output)))); + } + + private static class Add extends BaseListAddition{ + + public Add(AnvilRecipe recipe) { + super("Anvil-Regular", TFCHelper.anvilRecipes, recipe); + } + } + + private static class AddWeld extends BaseListAddition{ + + public AddWeld(AnvilRecipe recipe) { + super("Anvil-Weld", TFCHelper.anvilWeldRecipes, recipe); + } + + } + +} diff --git a/src/main/java/modtweaker2/mods/tfcraft/handlers/Barrel.java b/src/main/java/modtweaker2/mods/tfcraft/handlers/Barrel.java new file mode 100644 index 0000000..82e5882 --- /dev/null +++ b/src/main/java/modtweaker2/mods/tfcraft/handlers/Barrel.java @@ -0,0 +1,30 @@ +package modtweaker2.mods.tfcraft.handlers; + +import static modtweaker2.helpers.InputHelper.*; +import minetweaker.MineTweakerAPI; +import minetweaker.api.item.IItemStack; +import minetweaker.api.liquid.ILiquidStack; +import modtweaker2.mods.tfcraft.TFCHelper; +import modtweaker2.utils.BaseListAddition; +import stanhebben.zenscript.annotations.ZenClass; +import stanhebben.zenscript.annotations.ZenMethod; + +import com.bioxx.tfc.api.Crafting.BarrelRecipe; + +@ZenClass("mods.tfcraft.Barrel") +public class Barrel { + + @ZenMethod + public static void add(IItemStack inputItem, ILiquidStack inputFluid, IItemStack outputItem, ILiquidStack outputFluid){ + BarrelRecipe aRecipe = new BarrelRecipe(toStack(inputItem), toFluid(inputFluid), toStack(outputItem), toFluid(outputFluid)); + MineTweakerAPI.apply(new AddRecipe(aRecipe)); + } + + private static class AddRecipe extends BaseListAddition{ + + public AddRecipe(BarrelRecipe recipe){ + super("Barrel-Basic", TFCHelper.barrelRecipes, recipe); + } + + } +} diff --git a/src/main/java/modtweaker2/mods/tfcraft/handlers/Kiln.java b/src/main/java/modtweaker2/mods/tfcraft/handlers/Kiln.java new file mode 100644 index 0000000..d06ea9e --- /dev/null +++ b/src/main/java/modtweaker2/mods/tfcraft/handlers/Kiln.java @@ -0,0 +1,28 @@ +package modtweaker2.mods.tfcraft.handlers; + +import com.bioxx.tfc.api.Crafting.KilnRecipe; + +import minetweaker.MineTweakerAPI; +import minetweaker.api.item.IItemStack; +import modtweaker2.mods.tfcraft.TFCHelper; +import modtweaker2.utils.BaseListAddition; +import static modtweaker2.helpers.InputHelper.toStack; +import stanhebben.zenscript.annotations.ZenClass; +import stanhebben.zenscript.annotations.ZenMethod; + +@ZenClass("mods.tfcraft.Kiln") +public class Kiln { + + @ZenMethod + public static void addRecipe(IItemStack input, int lv, IItemStack output){ + MineTweakerAPI.apply(new AddRecipe(new KilnRecipe(toStack(input), lv, toStack(output)))); + } + + private static class AddRecipe extends BaseListAddition{ + + public AddRecipe(KilnRecipe recipe) { + super("Kiln", TFCHelper.kilnRecipes, recipe); + } + } + +} diff --git a/src/main/java/modtweaker2/mods/tfcraft/handlers/Quern.java b/src/main/java/modtweaker2/mods/tfcraft/handlers/Quern.java new file mode 100644 index 0000000..2deae76 --- /dev/null +++ b/src/main/java/modtweaker2/mods/tfcraft/handlers/Quern.java @@ -0,0 +1,35 @@ +package modtweaker2.mods.tfcraft.handlers; + +import static modtweaker2.helpers.InputHelper.toStack; +import minetweaker.MineTweakerAPI; +import minetweaker.api.item.IItemStack; +import modtweaker2.mods.tfcraft.TFCHelper; +import modtweaker2.utils.BaseListAddition; +import stanhebben.zenscript.annotations.ZenClass; +import stanhebben.zenscript.annotations.ZenMethod; + +import com.bioxx.tfc.api.Crafting.QuernRecipe; + +@ZenClass("mods.tfcraft.Quern") +public class Quern { + + @ZenMethod + public static void add(IItemStack output, IItemStack input) { + MineTweakerAPI.apply(new AddRecipe(new QuernRecipe(toStack(input), toStack(output)))); + } + + //@ZenMethod + //public static void remove(IItemStack output, IItemStack input){ + // MineTweakerAPI.apply(new RemoveRecipe(input, output)); + //} + + private static class AddRecipe extends BaseListAddition{ + + public AddRecipe(QuernRecipe recipe) { + super("Quern", TFCHelper.quernRecipes, recipe); + TFCHelper.quernVaildItems.add(recipe.getInItem()); + } + + } + +}