From 61cdd8c487ca8b9e5b6c1d4e01107bfeb3fdd85c Mon Sep 17 00:00:00 2001 From: GlodBlock <1356392126@qq.com> Date: Wed, 13 Jul 2022 20:05:14 +0800 Subject: [PATCH] black essentia gas from ThE --- dependencies.gradle | 4 ++++ .../java/com/glodblock/github/common/Config.java | 4 +++- .../common/item/ItemBasicFluidStorageCell.java | 4 ++++ .../github/common/storage/FluidCellInventory.java | 2 ++ .../com/glodblock/github/util/ModAndClassUtil.java | 13 +++++++++++-- 5 files changed, 24 insertions(+), 3 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 6640e94a..8cba428b 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -12,8 +12,12 @@ dependencies { compileOnly('com.github.GTNewHorizons:GT5-Unofficial:5.09.40.41:dev') compileOnly('com.github.GTNewHorizons:StructureLib:1.0.15:dev') compileOnly('net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev') + compileOnly('thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev') compileOnly('com.github.GTNewHorizons:AppleCore:3.1.9:dev') {transitive = false} compileOnly('com.github.GTNewHorizons:BuildCraft:7.1.27:dev') {transitive = false} compileOnly("com.gregoriust.gregtech:gregtech_1.7.10:6.14.23:dev") {transitive = false} compileOnly('com.github.GTNewHorizons:OpenComputers:1.7.5.23-GTNH:dev') {transitive = false} + compileOnly('com.github.GTNewHorizons:ThaumicEnergistics:1.3.19-GTNH:dev') {transitive = false} + + runtime("com.github.GTNewHorizons:Baubles:1.0.1.14:dev") } diff --git a/src/main/java/com/glodblock/github/common/Config.java b/src/main/java/com/glodblock/github/common/Config.java index 0256893e..12267b84 100644 --- a/src/main/java/com/glodblock/github/common/Config.java +++ b/src/main/java/com/glodblock/github/common/Config.java @@ -13,6 +13,7 @@ public class Config { public static boolean noFluidPacket; public static boolean fluidIOBus; public static boolean removeRecipe; + public static boolean blacklistEssentiaGas; public static void run() { loadCategory(); @@ -21,9 +22,10 @@ public class Config { private static void loadProperty() { fluidCells = Config.getBoolean("Enable Fluid Storage Cell", "Fluid Craft for AE2", true, "Enable this to generate the fluid storage cells. If you are playing with EC2, you can turn it off."); - noFluidPacket = Config.getBoolean("No Fluid Packet", "Fluid Craft for AE2", false, "Enable this to make normal ME Interface can emit fluid with fluid pattern, like the Fluid Interface."); + noFluidPacket = Config.getBoolean("No Fluid Packet", "Fluid Craft for AE2", false, "Enable this to make normal ME Interface can emit fluid with fluid pattern, like the ME Dual Interface."); fluidIOBus = Config.getBoolean("Enable AE2FC's Fluid I/O Bus", "Fluid Craft for AE2", true, "Enable this to add Fluid Import/Export Bus like EC2's one."); removeRecipe = Config.getBoolean("Disable all recipes", "Fluid Craft for AE2", false, "Disable all recipes, for quick tweaker."); + blacklistEssentiaGas = Config.getBoolean("Blacklist Essentia Gas", "Fluid Craft for AE2", true, "Blacklist Essentia Gas from Thaumic Energistics, so they won't be stored in Fluid Storage Cells."); if (Config.hasChanged()) Config.save(); diff --git a/src/main/java/com/glodblock/github/common/item/ItemBasicFluidStorageCell.java b/src/main/java/com/glodblock/github/common/item/ItemBasicFluidStorageCell.java index ea346052..02dec4b8 100644 --- a/src/main/java/com/glodblock/github/common/item/ItemBasicFluidStorageCell.java +++ b/src/main/java/com/glodblock/github/common/item/ItemBasicFluidStorageCell.java @@ -23,6 +23,7 @@ import com.glodblock.github.common.storage.CellType; import com.glodblock.github.common.storage.IFluidCellInventory; import com.glodblock.github.common.storage.IFluidCellInventoryHandler; import com.glodblock.github.common.storage.IStorageFluidCell; +import com.glodblock.github.util.ModAndClassUtil; import com.glodblock.github.util.NameConst; import com.google.common.base.Optional; import cpw.mods.fml.common.registry.GameRegistry; @@ -157,6 +158,9 @@ public class ItemBasicFluidStorageCell extends AEBaseItem implements IStorageFlu @Override public boolean isBlackListed(ItemStack cellItem, IAEFluidStack requestedAddition) { + if (Config.blacklistEssentiaGas && ModAndClassUtil.ThE && requestedAddition != null) { + return ModAndClassUtil.essentiaGas.isInstance(requestedAddition.getFluid()); + } return false; } diff --git a/src/main/java/com/glodblock/github/common/storage/FluidCellInventory.java b/src/main/java/com/glodblock/github/common/storage/FluidCellInventory.java index 357a40cc..4764f298 100644 --- a/src/main/java/com/glodblock/github/common/storage/FluidCellInventory.java +++ b/src/main/java/com/glodblock/github/common/storage/FluidCellInventory.java @@ -11,6 +11,8 @@ import appeng.api.storage.data.IAEFluidStack; import appeng.api.storage.data.IItemList; import appeng.util.Platform; import appeng.util.item.AEFluidStack; +import com.glodblock.github.common.Config; +import com.glodblock.github.util.ModAndClassUtil; import com.glodblock.github.util.Util; import net.minecraft.inventory.IInventory; import net.minecraft.item.Item; diff --git a/src/main/java/com/glodblock/github/util/ModAndClassUtil.java b/src/main/java/com/glodblock/github/util/ModAndClassUtil.java index 67dbb377..cdff9162 100644 --- a/src/main/java/com/glodblock/github/util/ModAndClassUtil.java +++ b/src/main/java/com/glodblock/github/util/ModAndClassUtil.java @@ -18,6 +18,7 @@ public final class ModAndClassUtil { public static boolean EIO = false; public static boolean FTR = false; public static boolean OC = false; + public static boolean ThE = false; public static boolean isDoubleButton; public static boolean isSaveText; @@ -27,6 +28,8 @@ public final class ModAndClassUtil { public static boolean isShiftTooltip; public static boolean isBigInterface; + public static Class essentiaGas; + @SuppressWarnings("all") public static void init() { @@ -86,6 +89,12 @@ public final class ModAndClassUtil { isCraftStatus = false; } + try { + essentiaGas = Class.forName("thaumicenergistics.common.fluids.GaseousEssentia"); + } catch (ClassNotFoundException e) { + essentiaGas = null; + } + if (Loader.isModLoaded("gregtech") && !Loader.isModLoaded("gregapi")) GT5 = true; if (Loader.isModLoaded("gregapi") && Loader.isModLoaded("gregapi_post")) @@ -98,8 +107,8 @@ public final class ModAndClassUtil { FTR = true; if (Loader.isModLoaded("OpenComputers")) OC = true; + if (Loader.isModLoaded("thaumicenergistics")) + ThE = true; } - - }