diff --git a/src/main/java/buildcraft/api/core/SafeTimeTracker.java b/src/api/java/buildcraft/api/core/SafeTimeTracker.java similarity index 100% rename from src/main/java/buildcraft/api/core/SafeTimeTracker.java rename to src/api/java/buildcraft/api/core/SafeTimeTracker.java diff --git a/src/main/java/buildcraft/api/fuels/IronEngineFuel.java b/src/api/java/buildcraft/api/fuels/IronEngineFuel.java similarity index 100% rename from src/main/java/buildcraft/api/fuels/IronEngineFuel.java rename to src/api/java/buildcraft/api/fuels/IronEngineFuel.java diff --git a/src/main/java/buildcraft/api/fuels/package-info.java b/src/api/java/buildcraft/api/fuels/package-info.java similarity index 100% rename from src/main/java/buildcraft/api/fuels/package-info.java rename to src/api/java/buildcraft/api/fuels/package-info.java diff --git a/src/main/java/buildcraft/api/package-info.java b/src/api/java/buildcraft/api/package-info.java similarity index 100% rename from src/main/java/buildcraft/api/package-info.java rename to src/api/java/buildcraft/api/package-info.java diff --git a/src/main/java/buildcraft/api/power/IPowerEmitter.java b/src/api/java/buildcraft/api/power/IPowerEmitter.java similarity index 100% rename from src/main/java/buildcraft/api/power/IPowerEmitter.java rename to src/api/java/buildcraft/api/power/IPowerEmitter.java diff --git a/src/main/java/buildcraft/api/power/IPowerReceptor.java b/src/api/java/buildcraft/api/power/IPowerReceptor.java similarity index 100% rename from src/main/java/buildcraft/api/power/IPowerReceptor.java rename to src/api/java/buildcraft/api/power/IPowerReceptor.java diff --git a/src/main/java/buildcraft/api/power/PowerHandler.java b/src/api/java/buildcraft/api/power/PowerHandler.java similarity index 100% rename from src/main/java/buildcraft/api/power/PowerHandler.java rename to src/api/java/buildcraft/api/power/PowerHandler.java diff --git a/src/main/java/buildcraft/api/power/package-info.java b/src/api/java/buildcraft/api/power/package-info.java similarity index 100% rename from src/main/java/buildcraft/api/power/package-info.java rename to src/api/java/buildcraft/api/power/package-info.java diff --git a/src/main/java/buildcraft/api/tools/IToolWrench.java b/src/api/java/buildcraft/api/tools/IToolWrench.java similarity index 100% rename from src/main/java/buildcraft/api/tools/IToolWrench.java rename to src/api/java/buildcraft/api/tools/IToolWrench.java diff --git a/src/main/java/buildcraft/api/tools/package-info.java b/src/api/java/buildcraft/api/tools/package-info.java similarity index 100% rename from src/main/java/buildcraft/api/tools/package-info.java rename to src/api/java/buildcraft/api/tools/package-info.java diff --git a/src/main/java/buildcraft/api/transport/IPipeTile.java b/src/api/java/buildcraft/api/transport/IPipeTile.java similarity index 100% rename from src/main/java/buildcraft/api/transport/IPipeTile.java rename to src/api/java/buildcraft/api/transport/IPipeTile.java diff --git a/src/main/java/buildcraft/api/transport/PipeWire.java b/src/api/java/buildcraft/api/transport/PipeWire.java similarity index 100% rename from src/main/java/buildcraft/api/transport/PipeWire.java rename to src/api/java/buildcraft/api/transport/PipeWire.java diff --git a/src/main/java/buildcraft/api/transport/package-info.java b/src/api/java/buildcraft/api/transport/package-info.java similarity index 100% rename from src/main/java/buildcraft/api/transport/package-info.java rename to src/api/java/buildcraft/api/transport/package-info.java diff --git a/src/main/java/mekanism/common/multipart/PartUniversalCable.java b/src/main/java/mekanism/common/multipart/PartUniversalCable.java index aa15ffa06..7ce236941 100644 --- a/src/main/java/mekanism/common/multipart/PartUniversalCable.java +++ b/src/main/java/mekanism/common/multipart/PartUniversalCable.java @@ -57,9 +57,7 @@ public class PartUniversalCable extends PartTransmitter implement if(MekanismUtils.useBuildCraft()) { - powerHandler = new PowerHandler(this, PowerHandler.Type.STORAGE); - powerHandler.configurePowerPerdition(0, 0); - powerHandler.configure(0, 0, 0, 0); + configure(); } } @@ -135,7 +133,8 @@ public class PartUniversalCable extends PartTransmitter implement { super.refreshTransmitterNetwork(); - reconfigure(); + if(MekanismUtils.useBuildCraft()) + reconfigure(); } @Override @@ -369,27 +368,31 @@ public class PartUniversalCable extends PartTransmitter implement return world(); } + @Method(modid = "BuildCraftAPI|power") + private void configure() + { + powerHandler = new PowerHandler(this, PowerHandler.Type.STORAGE); + powerHandler.configurePowerPerdition(0, 0); + powerHandler.configure(0, 0, 0, 0); + } + + @Method(modid = "BuildCraftAPI|power") private void reconfigure() { - if(MekanismUtils.useBuildCraft()) - { - float needed = (float)(getTransmitterNetwork().getEnergyNeeded()*Mekanism.TO_BC); - powerHandler.configure(1, needed, 0, needed); - } + float needed = (float)(getTransmitterNetwork().getEnergyNeeded()*Mekanism.TO_BC); + powerHandler.configure(1, needed, 0, needed); } @Override + @Method(modid = "BuildCraftAPI|power") public void doWork(PowerHandler workProvider) { - if(MekanismUtils.useBuildCraft()) + if(powerHandler.getEnergyStored() > 0) { - if(powerHandler.getEnergyStored() > 0) - { - getTransmitterNetwork().emit(powerHandler.getEnergyStored()*Mekanism.FROM_BC); - } - - powerHandler.setEnergy(0); - reconfigure(); + getTransmitterNetwork().emit(powerHandler.getEnergyStored()*Mekanism.FROM_BC); } + + powerHandler.setEnergy(0); + reconfigure(); } } diff --git a/src/main/java/mekanism/common/tile/TileEntityElectricBlock.java b/src/main/java/mekanism/common/tile/TileEntityElectricBlock.java index 71c753cc2..25d5b3c37 100644 --- a/src/main/java/mekanism/common/tile/TileEntityElectricBlock.java +++ b/src/main/java/mekanism/common/tile/TileEntityElectricBlock.java @@ -62,13 +62,18 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i MAX_ELECTRICITY = maxEnergy; if(MekanismUtils.useBuildCraft()) - { - powerHandler = new PowerHandler(this, PowerHandler.Type.STORAGE); - powerHandler.configurePowerPerdition(0, 0); - powerHandler.configure(0, 0, 0, 0); - } + configure(); } + @Method(modid = "BuildCraftAPI|power") + public void configure() + { + powerHandler = new PowerHandler(this, PowerHandler.Type.STORAGE); + powerHandler.configurePowerPerdition(0, 0); + powerHandler.configure(0, 0, 0, 0); + } + + @Method(modid = "IC2API") public void register() { @@ -98,7 +103,8 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i @Override public void onUpdate() { - reconfigure(); + if(MekanismUtils.useBuildCraft()) + reconfigure(); } public EnumSet getOutputtingSides() @@ -156,7 +162,7 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i public void onChunkUnload() { if(MekanismUtils.useIC2()) - deregister(); + deregister(); super.onChunkUnload(); } @@ -167,7 +173,7 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i super.invalidate(); if(MekanismUtils.useIC2()) - deregister(); + deregister(); } @Override @@ -176,7 +182,9 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i super.readFromNBT(nbtTags); electricityStored = nbtTags.getDouble("electricityStored"); - reconfigure(); + + if(MekanismUtils.useBuildCraft()) + reconfigure(); } @Override @@ -199,12 +207,10 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i return null; } + @Method(modid = "BuildCraftAPI|power") protected void reconfigure() { - if(MekanismUtils.useBuildCraft()) - { powerHandler.configure(1, (float)((getMaxEnergy()-getEnergy())*Mekanism.TO_BC), 0, (float)(getMaxEnergy()*Mekanism.TO_BC)); - } } @Override diff --git a/src/main/java/mekanism/generators/common/tile/TileEntityGenerator.java b/src/main/java/mekanism/generators/common/tile/TileEntityGenerator.java index 0900929b4..f58499b77 100644 --- a/src/main/java/mekanism/generators/common/tile/TileEntityGenerator.java +++ b/src/main/java/mekanism/generators/common/tile/TileEntityGenerator.java @@ -18,6 +18,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; +import cpw.mods.fml.common.Optional.Method; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import dan200.computercraft.api.peripheral.IComputerAccess; @@ -269,6 +270,7 @@ public abstract class TileEntityGenerator extends TileEntityElectricBlock implem } @Override + @Method(modid = "BuildCraftAPI|power") protected void reconfigure() { powerHandler.configure(0, 0, 0, 0);