From 611d4c8f52da6c4d2b5e0b5db1302190d9e0aeb6 Mon Sep 17 00:00:00 2001 From: Ben Spiers Date: Thu, 26 Jun 2014 18:16:33 +0100 Subject: [PATCH] Got some IC2 stuff working now. Turns out I was being stupid. --- src/main/java/mekanism/api/gas/FuelHandler.java | 6 ++---- src/main/java/mekanism/common/Mekanism.java | 2 +- .../mekanism/common/block/BlockEnergyCube.java | 11 +++++++---- .../mekanism/common/block/BlockGasTank.java | 4 ++-- .../mekanism/common/block/BlockMachine.java | 6 +++--- .../common/multipart/PartSidedPipe.java | 4 ++-- .../common/multipart/PartUniversalCable.java | 6 +++--- .../common/tile/TileEntityBasicBlock.java | 1 - .../common/tile/TileEntityBasicMachine.java | 7 ------- .../common/tile/TileEntityElectricBlock.java | 17 ++++++++++------- .../common/tile/TileEntityElectricMachine.java | 7 ------- .../common/tile/TileEntityEnergizedSmelter.java | 9 ++------- .../common/tile/TileEntityEnergyCube.java | 2 -- .../generators/common/MekanismGenerators.java | 4 ++-- .../generators/common/block/BlockGenerator.java | 6 +++--- .../common/tile/TileEntityGenerator.java | 5 ++++- 16 files changed, 41 insertions(+), 56 deletions(-) diff --git a/src/main/java/mekanism/api/gas/FuelHandler.java b/src/main/java/mekanism/api/gas/FuelHandler.java index ca2153a59..452c6b696 100644 --- a/src/main/java/mekanism/api/gas/FuelHandler.java +++ b/src/main/java/mekanism/api/gas/FuelHandler.java @@ -3,12 +3,10 @@ package mekanism.api.gas; import java.util.HashMap; import mekanism.common.Mekanism; -import mekanism.common.util.MekanismUtils; import net.minecraftforge.fluids.FluidContainerRegistry; -import cpw.mods.fml.common.Loader; -import cpw.mods.fml.common.Optional.Method; +import cpw.mods.fml.common.ModAPIManager; import buildcraft.api.fuels.IronEngineFuel; import buildcraft.api.fuels.IronEngineFuel.Fuel; @@ -29,7 +27,7 @@ public class FuelHandler return fuels.get(gas.getName()); } - if(Loader.isModLoaded("BuildCraftAPI|fuel") && gas.hasFluid()) + if(ModAPIManager.INSTANCE.hasAPI("BuildCraftAPI|fuel") && gas.hasFluid()) { Fuel bcFuel = IronEngineFuel.getFuelForFluid(gas.getFluid()); diff --git a/src/main/java/mekanism/common/Mekanism.java b/src/main/java/mekanism/common/Mekanism.java index 4121bd109..0b5cb5867 100644 --- a/src/main/java/mekanism/common/Mekanism.java +++ b/src/main/java/mekanism/common/Mekanism.java @@ -1434,7 +1434,7 @@ public class Mekanism { TileEntity tileEntity = (TileEntity)obj; - if(tileEntity instanceof TileEntityElectricBlock) + if(tileEntity instanceof TileEntityElectricBlock && MekanismUtils.useIC2()) { ((TileEntityElectricBlock)tileEntity).register(); } diff --git a/src/main/java/mekanism/common/block/BlockEnergyCube.java b/src/main/java/mekanism/common/block/BlockEnergyCube.java index f84eb2c02..68d2ef24f 100644 --- a/src/main/java/mekanism/common/block/BlockEnergyCube.java +++ b/src/main/java/mekanism/common/block/BlockEnergyCube.java @@ -13,6 +13,8 @@ import mekanism.common.item.ItemBlockEnergyCube; import mekanism.common.tile.TileEntityBasicBlock; import mekanism.common.tile.TileEntityElectricBlock; import mekanism.common.tile.TileEntityEnergyCube; +import mekanism.common.util.MekanismUtils; + import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -32,7 +34,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; import buildcraft.api.tools.IToolWrench; -import cpw.mods.fml.common.Loader; +import cpw.mods.fml.common.ModAPIManager; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -153,7 +155,7 @@ public class BlockEnergyCube extends BlockContainer { Item tool = entityplayer.getCurrentEquippedItem().getItem(); - if(Loader.isModLoaded("BuildCraftAPI|tools") && tool instanceof IToolWrench && !tool.getUnlocalizedName().contains("omniwrench")) + if(ModAPIManager.INSTANCE.hasAPI("BuildCraftAPI|tools") && tool instanceof IToolWrench && !tool.getUnlocalizedName().contains("omniwrench")) { if(((IToolWrench)tool).canWrench(entityplayer, x, y, z)) { @@ -229,7 +231,8 @@ public class BlockEnergyCube extends BlockContainer @Override public TileEntity createNewTileEntity(World world, int meta) { - return new TileEntityEnergyCube(); + TileEntityEnergyCube tile = new TileEntityEnergyCube(); + return tile; } @Override @@ -273,7 +276,7 @@ public class BlockEnergyCube extends BlockContainer { TileEntity tileEntity = world.getTileEntity(x, y, z); - if(!world.isRemote) + if(!world.isRemote && MekanismUtils.useIC2()) { ((TileEntityElectricBlock)tileEntity).register(); } diff --git a/src/main/java/mekanism/common/block/BlockGasTank.java b/src/main/java/mekanism/common/block/BlockGasTank.java index 7a6045de7..56f9d8c74 100644 --- a/src/main/java/mekanism/common/block/BlockGasTank.java +++ b/src/main/java/mekanism/common/block/BlockGasTank.java @@ -23,7 +23,7 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; import buildcraft.api.tools.IToolWrench; -import cpw.mods.fml.common.Loader; +import cpw.mods.fml.common.ModAPIManager; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -98,7 +98,7 @@ public class BlockGasTank extends BlockContainer { Item tool = entityplayer.getCurrentEquippedItem().getItem(); - if(Loader.isModLoaded("BuildCraftAPI|tools") && tool instanceof IToolWrench && !tool.getUnlocalizedName().contains("omniwrench")) + if(ModAPIManager.INSTANCE.hasAPI("BuildCraftAPI|tools") && tool instanceof IToolWrench && !tool.getUnlocalizedName().contains("omniwrench")) { if(((IToolWrench)tool).canWrench(entityplayer, x, y, z)) { diff --git a/src/main/java/mekanism/common/block/BlockMachine.java b/src/main/java/mekanism/common/block/BlockMachine.java index 76235f9cf..be3603a9a 100644 --- a/src/main/java/mekanism/common/block/BlockMachine.java +++ b/src/main/java/mekanism/common/block/BlockMachine.java @@ -86,7 +86,7 @@ import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidStack; import buildcraft.api.tools.IToolWrench; -import cpw.mods.fml.common.Loader; +import cpw.mods.fml.common.ModAPIManager; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import dan200.computercraft.api.peripheral.IPeripheral; @@ -659,7 +659,7 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds, IPer { Item tool = entityplayer.getCurrentEquippedItem().getItem(); - if(Loader.isModLoaded("BuildCraftAPI|tools") && tool instanceof IToolWrench && !tool.getUnlocalizedName().contains("omniwrench")) + if(ModAPIManager.INSTANCE.hasAPI("BuildCraftAPI|tools") && tool instanceof IToolWrench && !tool.getUnlocalizedName().contains("omniwrench")) { if(((IToolWrench)tool).canWrench(entityplayer, x, y, z)) { @@ -1229,7 +1229,7 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds, IPer if(!world.isRemote) { - if(tileEntity instanceof TileEntityElectricBlock) + if(tileEntity instanceof TileEntityElectricBlock && MekanismUtils.useIC2()) { ((TileEntityElectricBlock)tileEntity).register(); } diff --git a/src/main/java/mekanism/common/multipart/PartSidedPipe.java b/src/main/java/mekanism/common/multipart/PartSidedPipe.java index 448561675..d3f7a1cd8 100644 --- a/src/main/java/mekanism/common/multipart/PartSidedPipe.java +++ b/src/main/java/mekanism/common/multipart/PartSidedPipe.java @@ -48,7 +48,7 @@ import codechicken.multipart.PartMap; import codechicken.multipart.TMultiPart; import codechicken.multipart.TSlottedPart; -import cpw.mods.fml.common.Loader; +import cpw.mods.fml.common.ModAPIManager; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -423,7 +423,7 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart, return false; } - if(Loader.isModLoaded("BuildCraftAPI|tools") && item.getItem() instanceof IToolWrench && !(item.getItem() instanceof ItemConfigurator) && player.isSneaking()) + if(ModAPIManager.INSTANCE.hasAPI("BuildCraftAPI|tools") && item.getItem() instanceof IToolWrench && !(item.getItem() instanceof ItemConfigurator) && player.isSneaking()) { if(!world().isRemote) { diff --git a/src/main/java/mekanism/common/multipart/PartUniversalCable.java b/src/main/java/mekanism/common/multipart/PartUniversalCable.java index 52dc19d5b..aa15ffa06 100644 --- a/src/main/java/mekanism/common/multipart/PartUniversalCable.java +++ b/src/main/java/mekanism/common/multipart/PartUniversalCable.java @@ -1,6 +1,6 @@ package mekanism.common.multipart; -//import ic2.api.energy.tile.IEnergySource; +import ic2.api.energy.tile.IEnergySource; import java.util.List; import java.util.Set; @@ -92,7 +92,7 @@ public class PartUniversalCable extends PartTransmitter implement cacheEnergy = 0; } - /*if(MekanismUtils.useIC2()) + if(MekanismUtils.useIC2()) { List sides = getConnections(ConnectionType.PULL); if(!sides.isEmpty()) @@ -119,7 +119,7 @@ public class PartUniversalCable extends PartTransmitter implement } } } - }*/ + } } super.update(); diff --git a/src/main/java/mekanism/common/tile/TileEntityBasicBlock.java b/src/main/java/mekanism/common/tile/TileEntityBasicBlock.java index 3ac0e08f3..7cd71e50a 100644 --- a/src/main/java/mekanism/common/tile/TileEntityBasicBlock.java +++ b/src/main/java/mekanism/common/tile/TileEntityBasicBlock.java @@ -175,7 +175,6 @@ public abstract class TileEntityBasicBlock extends TileEntity implements IWrench } @Override - @Method(modid = "IC2API") public void setFacing(short direction) { if(canSetFacing(direction)) diff --git a/src/main/java/mekanism/common/tile/TileEntityBasicMachine.java b/src/main/java/mekanism/common/tile/TileEntityBasicMachine.java index 4ba7768b5..8f960ccfd 100644 --- a/src/main/java/mekanism/common/tile/TileEntityBasicMachine.java +++ b/src/main/java/mekanism/common/tile/TileEntityBasicMachine.java @@ -27,13 +27,6 @@ import cpw.mods.fml.common.Optional.InterfaceList; import dan200.computercraft.api.peripheral.IComputerAccess; import dan200.computercraft.api.peripheral.IPeripheral; -@InterfaceList({ - @Interface(iface = "ic2.api.energy.tile.IEnergySink", modid = "IC2API", striprefs = true), - @Interface(iface = "ic2.api.tile.IEnergyStorage", modid = "IC2API", striprefs = true), - @Interface(iface = "cofh.api.energy.IEnergyHandler", modid = "CoFHAPI|energy"), - @Interface(iface = "buildcraft.api.power.IPowerReceptor", modid = "BuildCraftAPI|power"), - @Interface(iface = "buildcraft.api.power.IPowerEmitter", modid = "BuildCraftAPI|power") -}) public abstract class TileEntityBasicMachine extends TileEntityElectricBlock implements IElectricMachine, IPeripheral, IActiveState, IInvConfiguration, IUpgradeTile, IHasSound, IRedstoneControl { /** This machine's side configuration. */ diff --git a/src/main/java/mekanism/common/tile/TileEntityElectricBlock.java b/src/main/java/mekanism/common/tile/TileEntityElectricBlock.java index 54e542c54..71c753cc2 100644 --- a/src/main/java/mekanism/common/tile/TileEntityElectricBlock.java +++ b/src/main/java/mekanism/common/tile/TileEntityElectricBlock.java @@ -22,7 +22,6 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.util.ForgeDirection; -import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.Optional.Interface; import cpw.mods.fml.common.Optional.InterfaceList; import cpw.mods.fml.common.Optional.Method; @@ -62,7 +61,7 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i super(name); MAX_ELECTRICITY = maxEnergy; - if(Loader.isModLoaded("BuildCraftAPI|power")) + if(MekanismUtils.useBuildCraft()) { powerHandler = new PowerHandler(this, PowerHandler.Type.STORAGE); powerHandler.configurePowerPerdition(0, 0); @@ -70,9 +69,10 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i } } + @Method(modid = "IC2API") public void register() { - if(!worldObj.isRemote && Loader.isModLoaded("IC2API")) + if(!worldObj.isRemote) { if(!Mekanism.ic2Registered.contains(Coord4D.get(this))) { @@ -81,10 +81,11 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i } } } - + + @Method(modid = "IC2API") public void deregister() { - if(!worldObj.isRemote && Loader.isModLoaded("IC2API")) + if(!worldObj.isRemote) { if(Mekanism.ic2Registered.contains(Coord4D.get(this))) { @@ -154,6 +155,7 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i @Override public void onChunkUnload() { + if(MekanismUtils.useIC2()) deregister(); super.onChunkUnload(); @@ -163,7 +165,8 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i public void invalidate() { super.invalidate(); - + + if(MekanismUtils.useIC2()) deregister(); } @@ -198,7 +201,7 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i protected void reconfigure() { - if(Loader.isModLoaded("BuildCraftAPI|power")) + if(MekanismUtils.useBuildCraft()) { powerHandler.configure(1, (float)((getMaxEnergy()-getEnergy())*Mekanism.TO_BC), 0, (float)(getMaxEnergy()*Mekanism.TO_BC)); } diff --git a/src/main/java/mekanism/common/tile/TileEntityElectricMachine.java b/src/main/java/mekanism/common/tile/TileEntityElectricMachine.java index 77ba72095..4bcb06bbc 100644 --- a/src/main/java/mekanism/common/tile/TileEntityElectricMachine.java +++ b/src/main/java/mekanism/common/tile/TileEntityElectricMachine.java @@ -17,13 +17,6 @@ import cpw.mods.fml.common.Optional.InterfaceList; import dan200.computercraft.api.lua.ILuaContext; import dan200.computercraft.api.peripheral.IComputerAccess; -@InterfaceList({ - @Interface(iface = "ic2.api.energy.tile.IEnergySink", modid = "IC2API", striprefs = true), - @Interface(iface = "ic2.api.tile.IEnergyStorage", modid = "IC2API", striprefs = true), - @Interface(iface = "cofh.api.energy.IEnergyHandler", modid = "CoFHAPI|energy"), - @Interface(iface = "buildcraft.api.power.IPowerReceptor", modid = "BuildCraftAPI|power"), - @Interface(iface = "buildcraft.api.power.IPowerEmitter", modid = "BuildCraftAPI|power") -}) public abstract class TileEntityElectricMachine extends TileEntityBasicMachine { /** diff --git a/src/main/java/mekanism/common/tile/TileEntityEnergizedSmelter.java b/src/main/java/mekanism/common/tile/TileEntityEnergizedSmelter.java index c0b4735c0..ddfd6ef22 100644 --- a/src/main/java/mekanism/common/tile/TileEntityEnergizedSmelter.java +++ b/src/main/java/mekanism/common/tile/TileEntityEnergizedSmelter.java @@ -6,17 +6,12 @@ import java.util.Map; import mekanism.client.gui.GuiProgress.ProgressBar; import mekanism.common.Mekanism; import mekanism.common.block.BlockMachine.MachineType; +import mekanism.common.recipe.RecipeHandler; + import net.minecraft.item.ItemStack; import cpw.mods.fml.common.Optional.Interface; import cpw.mods.fml.common.Optional.InterfaceList; -@InterfaceList({ - @Interface(iface = "ic2.api.energy.tile.IEnergySink", modid = "IC2API", striprefs = true), - @Interface(iface = "ic2.api.tile.IEnergyStorage", modid = "IC2API", striprefs = true), - @Interface(iface = "cofh.api.energy.IEnergyHandler", modid = "CoFHAPI|energy"), - @Interface(iface = "buildcraft.api.power.IPowerReceptor", modid = "BuildCraftAPI|power"), - @Interface(iface = "buildcraft.api.power.IPowerEmitter", modid = "BuildCraftAPI|power") -}) public class TileEntityEnergizedSmelter extends TileEntityElectricMachine { public static Map furnaceRecipes = new HashMap(); diff --git a/src/main/java/mekanism/common/tile/TileEntityEnergyCube.java b/src/main/java/mekanism/common/tile/TileEntityEnergyCube.java index d7e29d13e..8ced62e01 100644 --- a/src/main/java/mekanism/common/tile/TileEntityEnergyCube.java +++ b/src/main/java/mekanism/common/tile/TileEntityEnergyCube.java @@ -37,8 +37,6 @@ public class TileEntityEnergyCube extends TileEntityElectricBlock implements IPe /** * A block used to store and transfer electricity. - * @param energy - maximum energy this block can hold. - * @param i - output per tick this block can handle. */ public TileEntityEnergyCube() { diff --git a/src/main/java/mekanism/generators/common/MekanismGenerators.java b/src/main/java/mekanism/generators/common/MekanismGenerators.java index b19d06d8f..d419cc2d9 100644 --- a/src/main/java/mekanism/generators/common/MekanismGenerators.java +++ b/src/main/java/mekanism/generators/common/MekanismGenerators.java @@ -25,10 +25,10 @@ import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidRegistry; import buildcraft.api.fuels.IronEngineFuel; -import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; +import cpw.mods.fml.common.ModAPIManager; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; @@ -63,7 +63,7 @@ public class MekanismGenerators implements IModule @EventHandler public void postInit(FMLPostInitializationEvent event) { - if(Loader.isModLoaded("BuildCraftAPI|fuels")) + if(ModAPIManager.INSTANCE.hasAPI("BuildCraftAPI|fuels")) { for(String s : IronEngineFuel.fuels.keySet()) { diff --git a/src/main/java/mekanism/generators/common/block/BlockGenerator.java b/src/main/java/mekanism/generators/common/block/BlockGenerator.java index ecd24c201..f4adedd7d 100644 --- a/src/main/java/mekanism/generators/common/block/BlockGenerator.java +++ b/src/main/java/mekanism/generators/common/block/BlockGenerator.java @@ -40,7 +40,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; import buildcraft.api.tools.IToolWrench; -import cpw.mods.fml.common.Loader; +import cpw.mods.fml.common.ModAPIManager; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -304,7 +304,7 @@ public class BlockGenerator extends BlockContainer implements ISpecialBounds if(entityplayer.getCurrentEquippedItem() != null) { - if(Loader.isModLoaded("BuildCraftAPI|tools") && entityplayer.getCurrentEquippedItem().getItem() instanceof IToolWrench && !entityplayer.getCurrentEquippedItem().getUnlocalizedName().contains("omniwrench")) + if(ModAPIManager.INSTANCE.hasAPI("BuildCraftAPI|tools") && entityplayer.getCurrentEquippedItem().getItem() instanceof IToolWrench && !entityplayer.getCurrentEquippedItem().getUnlocalizedName().contains("omniwrench")) { if(entityplayer.isSneaking()) { @@ -502,7 +502,7 @@ public class BlockGenerator extends BlockContainer implements ISpecialBounds if(!world.isRemote) { - if(tileEntity != null) + if(tileEntity != null && MekanismUtils.useIC2()) { ((TileEntityElectricBlock)tileEntity).register(); } diff --git a/src/main/java/mekanism/generators/common/tile/TileEntityGenerator.java b/src/main/java/mekanism/generators/common/tile/TileEntityGenerator.java index 9e062f9fe..0900929b4 100644 --- a/src/main/java/mekanism/generators/common/tile/TileEntityGenerator.java +++ b/src/main/java/mekanism/generators/common/tile/TileEntityGenerator.java @@ -49,7 +49,10 @@ public abstract class TileEntityGenerator extends TileEntityElectricBlock implem { super(name, maxEnergy); - powerHandler.configure(0, 0, 0, 0); + if(MekanismUtils.useBuildCraft()) + { + powerHandler.configure(0, 0, 0, 0); + } output = out; isActive = false;