From 3a0810b3f4f493f0449ce7dcd075f0bdf553683b Mon Sep 17 00:00:00 2001 From: Keridos <2742845+Keridos@users.noreply.github.com> Date: Mon, 9 Dec 2024 21:42:18 +0100 Subject: [PATCH 1/2] remove ic2 energy integration add gregtech5 energy integration --- dependencies.gradle | 1 + .../compatability/ModCompatibility.java | 8 ++ .../tileentity/turretbase/TurretBase.java | 95 ++++++++----------- 3 files changed, 47 insertions(+), 57 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 736c5ea8..06c02ca7 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -7,6 +7,7 @@ dependencies { compileOnly 'com.github.GTNewHorizons:NotEnoughItems:2.6.35-GTNH:dev' compileOnly 'com.github.GTNewHorizons:OpenComputers:1.10.23-GTNH:dev' compileOnly 'net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev' + compileOnly("com.github.GTNewHorizons:GT5-Unofficial:5.09.51.00:dev") compileOnly("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev") compileOnly("curse.maven:computercraft-67504:2269339") } diff --git a/src/main/java/openmodularturrets/compatability/ModCompatibility.java b/src/main/java/openmodularturrets/compatability/ModCompatibility.java index 38f98696..27c90a6a 100644 --- a/src/main/java/openmodularturrets/compatability/ModCompatibility.java +++ b/src/main/java/openmodularturrets/compatability/ModCompatibility.java @@ -24,6 +24,7 @@ private ModCompatibility() {} public static boolean OpenComputersLoaded = false; public static boolean ComputercraftLoaded = false; public static boolean IC2Loaded = false; + public static boolean GTLoaded = false; private static Logger logger; public static void checkForMods() { @@ -55,6 +56,13 @@ public static void checkForMods() { logger.info("Enabling LUA integration. (Found OpenComputers/ComputerCraft)"); } IC2Loaded = Loader.isModLoaded("IC2"); + if (IC2Loaded) { + logger.info("I'm not a doctor, but I think you have a case of IC2. (Found IC2)"); + } + GTLoaded = Loader.isModLoaded("gregtech"); + if (GTLoaded) { + logger.info("Oh you like doing things the hard way? (Found Gregtech)"); + } } private static void addVersionCheckerInfo() { diff --git a/src/main/java/openmodularturrets/tileentity/turretbase/TurretBase.java b/src/main/java/openmodularturrets/tileentity/turretbase/TurretBase.java index e02d3e11..8f656196 100644 --- a/src/main/java/openmodularturrets/tileentity/turretbase/TurretBase.java +++ b/src/main/java/openmodularturrets/tileentity/turretbase/TurretBase.java @@ -16,8 +16,6 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.network.Packet; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.util.ForgeDirection; import cofh.api.energy.EnergyStorage; @@ -27,9 +25,7 @@ import dan200.computercraft.api.lua.LuaException; import dan200.computercraft.api.peripheral.IComputerAccess; import dan200.computercraft.api.peripheral.IPeripheral; -import ic2.api.energy.event.EnergyTileLoadEvent; -import ic2.api.energy.event.EnergyTileUnloadEvent; -import ic2.api.energy.tile.IEnergySink; +import gregtech.api.interfaces.tileentity.IEnergyConnected; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; @@ -52,10 +48,10 @@ @Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers"), @Optional.Interface(iface = "thaumcraft.api.aspects.IAspectContainer", modid = "Thaumcraft"), @Optional.Interface(iface = "thaumcraft.api.aspects.IEssentiaTransport", modid = "Thaumcraft"), - @Optional.Interface(iface = "ic2.api.energy.tile.IEnergySink", modid = "IC2") }) + @Optional.Interface(iface = "gregtech.api.interfaces.tileentity.IEnergyConnected", modid = "gregtech") }) public abstract class TurretBase extends TileEntityContainer implements IEnergyHandler, SimpleComponent, - ISidedInventory, IEssentiaTransport, IAspectContainer, IPeripheral, IEnergySink { + ISidedInventory, IEssentiaTransport, IAspectContainer, IPeripheral, IEnergyConnected { public int trustedPlayerIndex = 0; public ItemStack camoStack; @@ -140,44 +136,6 @@ private static void updateRedstoneReactor(TurretBase base) { } } - @Optional.Method(modid = "IC2") - @Override - public double injectEnergy(ForgeDirection forgeDirection, double v, double v1) { - storageEU += v; - return 0.0D; - } - - @Optional.Method(modid = "IC2") - @Override - public int getSinkTier() { - return Integer.MAX_VALUE; - } - - @Optional.Method(modid = "IC2") - @Override - public double getDemandedEnergy() { - return Math.max(4000D - storageEU, 0.0D); - } - - @Optional.Method(modid = "IC2") - @Override - public boolean acceptsEnergyFrom(TileEntity tileEntity, ForgeDirection forgeDirection) { - return true; - } - - @Optional.Method(modid = "IC2") - protected void addToIc2EnergyNetwork() { - if (!worldObj.isRemote) { - EnergyTileLoadEvent event = new EnergyTileLoadEvent(this); - MinecraftForge.EVENT_BUS.post(event); - } - } - - @Optional.Method(modid = "IC2") - protected void removeFromIc2EnergyNetwork() { - MinecraftForge.EVENT_BUS.post(new EnergyTileUnloadEvent(this)); - } - @Override public void invalidate() { super.invalidate(); @@ -186,11 +144,7 @@ public void invalidate() { @Override public void onChunkUnload() { - if (wasAddedToEnergyNet && ModCompatibility.IC2Loaded) { - removeFromIc2EnergyNetwork(); - wasAddedToEnergyNet = false; - } } private int getMaxEnergyStorageWithExtenders() { @@ -530,13 +484,43 @@ private int drawEssentia() { return 0; } + @Optional.Method(modid = "gregtech") @Override - public void updateEntity() { - if (ModCompatibility.IC2Loaded && ConfigHandler.EUSupport && !wasAddedToEnergyNet && !worldObj.isRemote) { - addToIc2EnergyNetwork(); - wasAddedToEnergyNet = true; + public long injectEnergyUnits(ForgeDirection side, long aVoltage, long aAmperage) { + if (storageEU < 40000 * getBaseTier()) { + storageEU += aVoltage * aAmperage; + markDirty(); + return aAmperage; } + return 0; + } + + @Optional.Method(modid = "gregtech") + @Override + public boolean inputEnergyFrom(ForgeDirection side) { + return storageEU < 40000 * getBaseTier(); + } + + @Optional.Method(modid = "gregtech") + @Override + public boolean outputsEnergyTo(ForgeDirection side) { + return false; + } + @Optional.Method(modid = "gregtech") + @Override + public byte getColorization() { + return -1; + } + + @Optional.Method(modid = "gregtech") + @Override + public byte setColorization(byte aColor) { + return -1; + } + + @Override + public void updateEntity() { ticks++; if (!worldObj.isRemote && ticks % 5 == 0) { @@ -568,9 +552,7 @@ public void updateEntity() { } } - if (ModCompatibility.IC2Loaded && ConfigHandler.EUSupport - && storage.getMaxEnergyStored() != storage.getEnergyStored() - && storageEU > 0) { + if (ConfigHandler.EUSupport && storage.getMaxEnergyStored() != storage.getEnergyStored() && storageEU > 0) { int energyToAdd = MathUtil.truncateDoubleToInt( Math.min( storage.getMaxEnergyStored() - storage.getEnergyStored(), @@ -581,7 +563,6 @@ public void updateEntity() { } if (ticks == 20) { - // General ticks = 0; updateRedstoneReactor(this); From 86458a3bb1f411e7f4719a9f3234e2c3a741e94f Mon Sep 17 00:00:00 2001 From: Keridos <2742845+Keridos@users.noreply.github.com> Date: Mon, 9 Dec 2024 22:14:07 +0100 Subject: [PATCH 2/2] update dependencies and buildscript --- dependencies.gradle | 14 +++++++------- gradle/wrapper/gradle-wrapper.properties | 2 +- settings.gradle | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 06c02ca7..9e9f3cef 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -3,11 +3,11 @@ dependencies { implementation("curse.maven:cofh-lib-220333:2388748") - compileOnly 'com.github.GTNewHorizons:waila:1.8.1:dev' - compileOnly 'com.github.GTNewHorizons:NotEnoughItems:2.6.35-GTNH:dev' - compileOnly 'com.github.GTNewHorizons:OpenComputers:1.10.23-GTNH:dev' - compileOnly 'net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev' - compileOnly("com.github.GTNewHorizons:GT5-Unofficial:5.09.51.00:dev") - compileOnly("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev") - compileOnly("curse.maven:computercraft-67504:2269339") + devOnlyNonPublishable 'com.github.GTNewHorizons:waila:1.8.2:dev' + devOnlyNonPublishable 'com.github.GTNewHorizons:NotEnoughItems:2.6.51-GTNH:dev' + devOnlyNonPublishable 'com.github.GTNewHorizons:OpenComputers:1.10.27-GTNH:dev' + devOnlyNonPublishable 'net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev' + devOnlyNonPublishable ("com.github.GTNewHorizons:GT5-Unofficial:5.09.51.00:dev") + devOnlyNonPublishable ("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev") + devOnlyNonPublishable ("curse.maven:computercraft-67504:2269339") } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 09523c0e..e2847c82 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/settings.gradle b/settings.gradle index 3d3ba12c..0147a994 100644 --- a/settings.gradle +++ b/settings.gradle @@ -17,7 +17,7 @@ pluginManagement { } plugins { - id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.27' + id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.30' }