From 78d97bd885676039f28590541a132bf9a5970fbc Mon Sep 17 00:00:00 2001 From: 3TUSK Date: Sat, 18 Apr 2015 14:24:35 -0400 Subject: [PATCH] I think I finished...! --- .../mods/tfcraft/handlers/Barrel.java | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/src/main/java/modtweaker2/mods/tfcraft/handlers/Barrel.java b/src/main/java/modtweaker2/mods/tfcraft/handlers/Barrel.java index c878973..800c02e 100644 --- a/src/main/java/modtweaker2/mods/tfcraft/handlers/Barrel.java +++ b/src/main/java/modtweaker2/mods/tfcraft/handlers/Barrel.java @@ -16,6 +16,7 @@ import net.minecraftforge.fluids.FluidStack; import stanhebben.zenscript.annotations.ZenClass; import stanhebben.zenscript.annotations.ZenMethod; +import com.bioxx.tfc.api.Crafting.BarrelLiquidToLiquidRecipe; import com.bioxx.tfc.api.Crafting.BarrelManager; import com.bioxx.tfc.api.Crafting.BarrelRecipe; @@ -23,13 +24,32 @@ import com.bioxx.tfc.api.Crafting.BarrelRecipe; public class Barrel { /** - * Note: by default the parameter sealed should be true - *

And, the parameter time uses the unit of "hour" in TFCraft + * @param outputFluid If you want this recipe consume fluid, outputFluid=inputFluid + * @param time How long the recipe finished. Unit is TFC hour. * @param techLv Set to 0 if you want vessel to be able to use your new recipe, otherwise you will set to 1 + * @param removeFluid Set false if there is special need + * @param allowAny By default it is true */ @ZenMethod - public static void add(IItemStack inputItem, ILiquidStack inputFluid, IItemStack outputItem, ILiquidStack outputFluid, int time, int techLv, boolean sealed){ - MineTweakerAPI.apply(new AddRecipe(new BarrelRecipe(toStack(inputItem), toFluid(inputFluid), toStack(outputItem), toFluid(outputFluid), time).setSealedRecipe(sealed).setMinTechLevel(techLv))); + public static void addSealed(IItemStack inputItem, ILiquidStack inputFluid, IItemStack outputItem, ILiquidStack outputFluid, int time, int techLv, boolean removeFluid, boolean allowAny){ + MineTweakerAPI.apply(new AddRecipe(new BarrelRecipe(toStack(inputItem), toFluid(inputFluid), toStack(outputItem), toFluid(outputFluid), time).setMinTechLevel(techLv).setRemovesLiquid(removeFluid).setAllowAnyStack(allowAny))); + } + + + @ZenMethod + public static void addUnsealed(IItemStack inputItem, ILiquidStack inputFluid, IItemStack outputItem, ILiquidStack outputFluid, int techLv, boolean removeFluid, boolean allowAny){ + MineTweakerAPI.apply(new AddRecipe(new BarrelRecipe(toStack(inputItem), toFluid(inputFluid), toStack(outputItem), toFluid(outputFluid)).setSealedRecipe(false).setMinTechLevel(techLv).setRemovesLiquid(removeFluid).setAllowAnyStack(allowAny))); + } + + /** + * + * @param inputInBarrel The input fluid which is in barrel + * @param input The input fluid which is in a fluid container, like a water bucket + * @param output The output fluid + */ + @ZenMethod + public static void addFluidToFluid(ILiquidStack inputInBarrel, ILiquidStack input, ILiquidStack output){ + MineTweakerAPI.apply(new AddRecipe(new BarrelLiquidToLiquidRecipe(toFluid(inputInBarrel), toFluid(input), toFluid(output)))); } @ZenMethod @@ -61,7 +81,7 @@ public class Barrel { public void apply() { ArrayList toRemove = new ArrayList(); for (BarrelRecipe recipe : BarrelManager.getInstance().getRecipes()){ - if (recipe.getInItem() != null && recipe.getRecipeOutIS() == stack){ + if (recipe.getRecipeOutIS() != null && recipe.getRecipeOutIS() == stack){ toRemove.add(recipe); } }