diff options
author | chochem <40274384+chochem@users.noreply.github.com> | 2023-10-12 14:27:06 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-12 15:27:06 +0200 |
commit | b43e65f3784a7978656a4e2a72a2734b37d7b735 (patch) | |
tree | e6403ad4570449d76d6ceef14727bdbe209c73bc /src/main/java | |
parent | 820ebd76016b69a0346588bcdc90a53f251e5b4c (diff) | |
download | GT5-Unofficial-b43e65f3784a7978656a4e2a72a2734b37d7b735.tar.gz GT5-Unofficial-b43e65f3784a7978656a4e2a72a2734b37d7b735.tar.bz2 GT5-Unofficial-b43e65f3784a7978656a4e2a72a2734b37d7b735.zip |
Fix clay bucket exploit and bring fluid canner in line with tank for them (#2320)
* fix clay bucket exploit
* convert to RA2
* fixes
* add missing modloaded check
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/gregtech/loaders/postload/GT_PostLoad.java | 102 |
1 files changed, 60 insertions, 42 deletions
diff --git a/src/main/java/gregtech/loaders/postload/GT_PostLoad.java b/src/main/java/gregtech/loaders/postload/GT_PostLoad.java index b17653129a..3e2a074148 100644 --- a/src/main/java/gregtech/loaders/postload/GT_PostLoad.java +++ b/src/main/java/gregtech/loaders/postload/GT_PostLoad.java @@ -5,7 +5,10 @@ import static gregtech.api.enums.Mods.Forestry; import static gregtech.api.enums.Mods.GalacticraftCore; import static gregtech.api.enums.Mods.GalacticraftMars; import static gregtech.api.enums.Mods.GalaxySpace; +import static gregtech.api.enums.Mods.IguanaTweaksTinkerConstruct; import static gregtech.api.enums.Mods.Thaumcraft; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; import java.lang.reflect.InvocationTargetException; import java.util.Arrays; @@ -117,48 +120,63 @@ public class GT_PostLoad { for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry .getRegisteredFluidContainerData()) { if ((tData.filledContainer.getItem() == Items.potionitem) && (tData.filledContainer.getItemDamage() == 0)) { - GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes.addRecipe( - true, - new ItemStack[] { iLData0 }, - new ItemStack[] { iSData0 }, - null, - new FluidStack[] { Materials.Water.getFluid(250L) }, - null, - 4, - 1, - 0); - GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes.addRecipe( - true, - new ItemStack[] { iSData0 }, - new ItemStack[] { iLData0 }, - null, - null, - null, - 4, - 1, - 0); - } else { - GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes.addRecipe( - true, - new ItemStack[] { tData.emptyContainer }, - new ItemStack[] { tData.filledContainer }, - null, - new FluidStack[] { tData.fluid }, - null, - tData.fluid.amount / 62, - 1, - 0); - GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes.addRecipe( - true, - new ItemStack[] { tData.filledContainer }, - new ItemStack[] { GT_Utility.getContainerItem(tData.filledContainer, true) }, - null, - null, - new FluidStack[] { tData.fluid }, - tData.fluid.amount / 62, - 1, - 0); - } + GT_Values.RA.stdBuilder() + .itemInputs(iLData0) + .itemOutputs(iSData0) + .fluidInputs(Materials.Water.getFluid(250L)) + .duration(4 * TICKS) + .eut(1) + .addTo(sFluidCannerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(iSData0) + .itemOutputs(iLData0) + .duration(4 * TICKS) + .eut(1) + .addTo(sFluidCannerRecipes); + } else if (IguanaTweaksTinkerConstruct.isModLoaded() && tData.emptyContainer.isItemEqual( + Objects.requireNonNull( + GT_ModHandler.getModItem(IguanaTweaksTinkerConstruct.ID, "clayBucketFired", 1L, 0)))) { + GT_Values.RA.stdBuilder() + .itemInputs( + GT_ModHandler.getModItem(IguanaTweaksTinkerConstruct.ID, "clayBucketFired", 1L, 0)) + .itemOutputs(tData.filledContainer) + .fluidInputs(tData.fluid) + .duration((tData.fluid.amount / 62) * TICKS) + .eut(1) + .addTo(sFluidCannerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(tData.filledContainer) + .itemOutputs( + GT_ModHandler.getModItem(IguanaTweaksTinkerConstruct.ID, "clayBucketFired", 1L, 0)) + .fluidOutputs(tData.fluid) + .duration((tData.fluid.amount / 62) * TICKS) + .eut(1) + .addTo(sFluidCannerRecipes); + } else { + GT_Values.RA.stdBuilder() + .itemInputs(tData.emptyContainer) + .itemOutputs(tData.filledContainer) + .fluidInputs(tData.fluid) + .duration((tData.fluid.amount / 62) * TICKS) + .eut(1) + .addTo(sFluidCannerRecipes); + if (GT_Utility.getContainerItem(tData.filledContainer, true) == null) { + GT_Values.RA.stdBuilder() + .itemInputs(tData.filledContainer) + .fluidOutputs(tData.fluid) + .duration((tData.fluid.amount / 62) * TICKS) + .eut(1) + .addTo(sFluidCannerRecipes); + } else { + GT_Values.RA.stdBuilder() + .itemInputs(tData.filledContainer) + .itemOutputs(GT_Utility.getContainerItem(tData.filledContainer, true)) + .fluidOutputs(tData.fluid) + .duration((tData.fluid.amount / 62) * TICKS) + .eut(1) + .addTo(sFluidCannerRecipes); + } + } } } |