From f2beaae45c237b6fc406befb1e4cb2a4c20f7a69 Mon Sep 17 00:00:00 2001 From: Quantumlyy Date: Sun, 28 Jan 2024 11:03:49 +0100 Subject: [PATCH 1/5] this should make it work with TE now --- dependencies.gradle | 2 ++ .../TileEntityApimancersDrainerCommon.java | 18 +++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/dependencies.gradle b/dependencies.gradle index 1a6d1d2..4d2b558 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -3,11 +3,13 @@ dependencies { compile('com.github.GTNewHorizons:ForestryMC:4.8.2:dev') + compileOnly('com.github.GTNewHorizons:BloodMagic:1.5.0:dev') compileOnly('com.github.GTNewHorizons:ThaumicHorizons:1.5.1:dev') compileOnly('com.github.GTNewHorizons:Baubles:1.0.4:dev') {transitive = false} compileOnly('com.github.GTNewHorizons:Botania:1.10.5-GTNH:api') {transitive = false} compileOnly('thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev') {transitive = false} compileOnly('com.github.GTNewHorizons:GT5-Unofficial:5.09.45.41:dev') + compileOnly('com.github.GTNewHorizons:ThaumicEnergistics:1.6.1-GTNH:dev') } diff --git a/src/main/java/magicbees/tileentity/TileEntityApimancersDrainerCommon.java b/src/main/java/magicbees/tileentity/TileEntityApimancersDrainerCommon.java index 5692f1e..ce3d674 100644 --- a/src/main/java/magicbees/tileentity/TileEntityApimancersDrainerCommon.java +++ b/src/main/java/magicbees/tileentity/TileEntityApimancersDrainerCommon.java @@ -7,6 +7,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; +import cpw.mods.fml.common.Optional; import forestry.api.apiculture.EnumBeeType; import forestry.api.apiculture.IAlleleBeeSpecies; import forestry.api.apiculture.IBee; @@ -22,8 +23,11 @@ import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; import thaumcraft.api.aspects.IAspectContainer; import thaumcraft.api.aspects.IEssentiaTransport; +import thaumicenergistics.api.storage.IAspectStorage; -public class TileEntityApimancersDrainerCommon extends TileEntity implements IAspectContainer, IEssentiaTransport { +@Optional.InterfaceList({ + @Optional.Interface(iface = "thaumicenergistics.api.storage.IAspectStorage", modid = "thaumicenergistics") }) +public class TileEntityApimancersDrainerCommon extends TileEntity implements IEssentiaTransport, IAspectContainer, IAspectStorage { public Aspect aspect; public AspectList essentia = new AspectList(); @@ -100,6 +104,18 @@ public class TileEntityApimancersDrainerCommon extends TileEntity implements IAs housing.getBeeInventory().getQueen().setTagCompound(nbttagcompound); } + @Override + @Optional.Method(modid = "thaumicenergistics") + public int getContainerCapacity() { + return maxAmount; + } + + @Override + @Optional.Method(modid = "thaumicenergistics") + public boolean doesShareCapacity() { + return true; + } + @Override public AspectList getAspects() { return this.essentia; From ef47b1863a290404cba76ce46531a8b2a3d1ed79 Mon Sep 17 00:00:00 2001 From: Quantumlyy Date: Sun, 28 Jan 2024 11:18:16 +0100 Subject: [PATCH 2/5] call normal updateentity --- .../magicbees/tileentity/TileEntityApimancersDrainerCommon.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/magicbees/tileentity/TileEntityApimancersDrainerCommon.java b/src/main/java/magicbees/tileentity/TileEntityApimancersDrainerCommon.java index ce3d674..bbb2028 100644 --- a/src/main/java/magicbees/tileentity/TileEntityApimancersDrainerCommon.java +++ b/src/main/java/magicbees/tileentity/TileEntityApimancersDrainerCommon.java @@ -42,6 +42,7 @@ public class TileEntityApimancersDrainerCommon extends TileEntity implements IEs @Override public void updateEntity() { + super.updateEntity(); // If there's no stored aspect we shouldn't even check for the above block. // We also don't need to run all the logic if the cabinet is full. if (aspect == null || essentia.visSize() == maxAmount) return; From 1e5c8db826368455406d7211f5e1fdfade12ff5f Mon Sep 17 00:00:00 2001 From: Quantumlyy Date: Sun, 28 Jan 2024 11:30:17 +0100 Subject: [PATCH 3/5] sa --- .../tileentity/TileEntityApimancersDrainerCommon.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/magicbees/tileentity/TileEntityApimancersDrainerCommon.java b/src/main/java/magicbees/tileentity/TileEntityApimancersDrainerCommon.java index bbb2028..dbecd53 100644 --- a/src/main/java/magicbees/tileentity/TileEntityApimancersDrainerCommon.java +++ b/src/main/java/magicbees/tileentity/TileEntityApimancersDrainerCommon.java @@ -27,7 +27,8 @@ import thaumicenergistics.api.storage.IAspectStorage; @Optional.InterfaceList({ @Optional.Interface(iface = "thaumicenergistics.api.storage.IAspectStorage", modid = "thaumicenergistics") }) -public class TileEntityApimancersDrainerCommon extends TileEntity implements IEssentiaTransport, IAspectContainer, IAspectStorage { +public class TileEntityApimancersDrainerCommon extends TileEntity + implements IEssentiaTransport, IAspectContainer, IAspectStorage { public Aspect aspect; public AspectList essentia = new AspectList(); From 87704925248d172e2a4c51e822bf3b35bd82e59a Mon Sep 17 00:00:00 2001 From: Quantumlyy Date: Sun, 28 Jan 2024 18:00:38 +0100 Subject: [PATCH 4/5] register drainer with ThEApi --- src/main/java/magicbees/main/Config.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/magicbees/main/Config.java b/src/main/java/magicbees/main/Config.java index 32fd247..4707c61 100644 --- a/src/main/java/magicbees/main/Config.java +++ b/src/main/java/magicbees/main/Config.java @@ -63,6 +63,7 @@ import magicbees.tileentity.TileEntityEffectJar; import magicbees.tileentity.TileEntityMagicApiary; import magicbees.tileentity.TileEntityManaAuraProvider; import magicbees.tileentity.TileEntityVisAuraProvider; +import thaumicenergistics.api.ThEApi; /** * A class to hold some data related to mod state & functions. @@ -166,6 +167,7 @@ public class Config { // ---- Loaded mods ----------------------------------------- public static boolean isGTLoaded = Loader.isModLoaded("gregtech"); public static boolean isGTNHCoreModLoaded = Loader.isModLoaded("gregtech") && Loader.isModLoaded("dreamcraft"); + public static boolean isThaumicEnergisticsLoaded = Loader.isModLoaded("thaumicenergistics"); public Config(File configFile) { configuration = new Configuration(configFile); @@ -512,6 +514,13 @@ public class Config { apimancersDrainer = new BlockApimancersDrainer(); GameRegistry.registerBlock(apimancersDrainer, "apimancersDrainer"); GameRegistry.registerTileEntity(BlockApimancersDrainer.drainer, "apimancersDrainer"); + + if (isThaumicEnergisticsLoaded) { + try { + Class c = BlockApimancersDrainer.drainer; + ThEApi.instance().transportPermissions().addAspectStorageTileToExtractPermissions(c); + } catch (Exception ignored) {} + } } } From f6f4a988af70245ec4216a35b38882731311dcde Mon Sep 17 00:00:00 2001 From: Quantumlyy Date: Sun, 28 Jan 2024 18:13:39 +0100 Subject: [PATCH 5/5] move theapi init to postinit --- src/main/java/magicbees/main/Config.java | 16 +++++++++------- src/main/java/magicbees/main/MagicBees.java | 1 + 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/main/java/magicbees/main/Config.java b/src/main/java/magicbees/main/Config.java index 4707c61..e7ae10d 100644 --- a/src/main/java/magicbees/main/Config.java +++ b/src/main/java/magicbees/main/Config.java @@ -228,6 +228,15 @@ public class Config { setupMiscForestryItemHooks(); } + public void setupThaumicEnergistics() { + if (isThaumicEnergisticsLoaded) { + try { + Class c = BlockApimancersDrainer.drainer; + ThEApi.instance().transportPermissions().addAspectStorageTileToExtractPermissions(c); + } catch (Exception ignored) {} + } + } + private void processConfigFile() { // Pull config from Forestry via reflection Field f; @@ -514,13 +523,6 @@ public class Config { apimancersDrainer = new BlockApimancersDrainer(); GameRegistry.registerBlock(apimancersDrainer, "apimancersDrainer"); GameRegistry.registerTileEntity(BlockApimancersDrainer.drainer, "apimancersDrainer"); - - if (isThaumicEnergisticsLoaded) { - try { - Class c = BlockApimancersDrainer.drainer; - ThEApi.instance().transportPermissions().addAspectStorageTileToExtractPermissions(c); - } catch (Exception ignored) {} - } } } diff --git a/src/main/java/magicbees/main/MagicBees.java b/src/main/java/magicbees/main/MagicBees.java index c1e3af8..58ce3ec 100644 --- a/src/main/java/magicbees/main/MagicBees.java +++ b/src/main/java/magicbees/main/MagicBees.java @@ -73,6 +73,7 @@ public class MagicBees { proxy.registerRenderers(); this.modConfig.saveConfigs(); + this.modConfig.setupThaumicEnergistics(); CraftingManager.setupCrafting(); CraftingManager.registerLiquidContainers();