Got some IC2 stuff working now. Turns out I was being stupid.

This commit is contained in:
Ben Spiers 2014-06-26 18:16:33 +01:00
parent ab07313573
commit 611d4c8f52
16 changed files with 41 additions and 56 deletions

View file

@ -3,12 +3,10 @@ package mekanism.api.gas;
import java.util.HashMap; import java.util.HashMap;
import mekanism.common.Mekanism; import mekanism.common.Mekanism;
import mekanism.common.util.MekanismUtils;
import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidContainerRegistry;
import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.ModAPIManager;
import cpw.mods.fml.common.Optional.Method;
import buildcraft.api.fuels.IronEngineFuel; import buildcraft.api.fuels.IronEngineFuel;
import buildcraft.api.fuels.IronEngineFuel.Fuel; import buildcraft.api.fuels.IronEngineFuel.Fuel;
@ -29,7 +27,7 @@ public class FuelHandler
return fuels.get(gas.getName()); 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()); Fuel bcFuel = IronEngineFuel.getFuelForFluid(gas.getFluid());

View file

@ -1434,7 +1434,7 @@ public class Mekanism
{ {
TileEntity tileEntity = (TileEntity)obj; TileEntity tileEntity = (TileEntity)obj;
if(tileEntity instanceof TileEntityElectricBlock) if(tileEntity instanceof TileEntityElectricBlock && MekanismUtils.useIC2())
{ {
((TileEntityElectricBlock)tileEntity).register(); ((TileEntityElectricBlock)tileEntity).register();
} }

View file

@ -13,6 +13,8 @@ import mekanism.common.item.ItemBlockEnergyCube;
import mekanism.common.tile.TileEntityBasicBlock; import mekanism.common.tile.TileEntityBasicBlock;
import mekanism.common.tile.TileEntityElectricBlock; import mekanism.common.tile.TileEntityElectricBlock;
import mekanism.common.tile.TileEntityEnergyCube; import mekanism.common.tile.TileEntityEnergyCube;
import mekanism.common.util.MekanismUtils;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer; import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
@ -32,7 +34,7 @@ import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
import buildcraft.api.tools.IToolWrench; 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.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@ -153,7 +155,7 @@ public class BlockEnergyCube extends BlockContainer
{ {
Item tool = entityplayer.getCurrentEquippedItem().getItem(); 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)) if(((IToolWrench)tool).canWrench(entityplayer, x, y, z))
{ {
@ -229,7 +231,8 @@ public class BlockEnergyCube extends BlockContainer
@Override @Override
public TileEntity createNewTileEntity(World world, int meta) public TileEntity createNewTileEntity(World world, int meta)
{ {
return new TileEntityEnergyCube(); TileEntityEnergyCube tile = new TileEntityEnergyCube();
return tile;
} }
@Override @Override
@ -273,7 +276,7 @@ public class BlockEnergyCube extends BlockContainer
{ {
TileEntity tileEntity = world.getTileEntity(x, y, z); TileEntity tileEntity = world.getTileEntity(x, y, z);
if(!world.isRemote) if(!world.isRemote && MekanismUtils.useIC2())
{ {
((TileEntityElectricBlock)tileEntity).register(); ((TileEntityElectricBlock)tileEntity).register();
} }

View file

@ -23,7 +23,7 @@ import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World; import net.minecraft.world.World;
import buildcraft.api.tools.IToolWrench; 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.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@ -98,7 +98,7 @@ public class BlockGasTank extends BlockContainer
{ {
Item tool = entityplayer.getCurrentEquippedItem().getItem(); 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)) if(((IToolWrench)tool).canWrench(entityplayer, x, y, z))
{ {

View file

@ -86,7 +86,7 @@ import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
import buildcraft.api.tools.IToolWrench; 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.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import dan200.computercraft.api.peripheral.IPeripheral; import dan200.computercraft.api.peripheral.IPeripheral;
@ -659,7 +659,7 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds, IPer
{ {
Item tool = entityplayer.getCurrentEquippedItem().getItem(); 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)) if(((IToolWrench)tool).canWrench(entityplayer, x, y, z))
{ {
@ -1229,7 +1229,7 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds, IPer
if(!world.isRemote) if(!world.isRemote)
{ {
if(tileEntity instanceof TileEntityElectricBlock) if(tileEntity instanceof TileEntityElectricBlock && MekanismUtils.useIC2())
{ {
((TileEntityElectricBlock)tileEntity).register(); ((TileEntityElectricBlock)tileEntity).register();
} }

View file

@ -48,7 +48,7 @@ import codechicken.multipart.PartMap;
import codechicken.multipart.TMultiPart; import codechicken.multipart.TMultiPart;
import codechicken.multipart.TSlottedPart; 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.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@ -423,7 +423,7 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart,
return false; 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) if(!world().isRemote)
{ {

View file

@ -1,6 +1,6 @@
package mekanism.common.multipart; package mekanism.common.multipart;
//import ic2.api.energy.tile.IEnergySource; import ic2.api.energy.tile.IEnergySource;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@ -92,7 +92,7 @@ public class PartUniversalCable extends PartTransmitter<EnergyNetwork> implement
cacheEnergy = 0; cacheEnergy = 0;
} }
/*if(MekanismUtils.useIC2()) if(MekanismUtils.useIC2())
{ {
List<ForgeDirection> sides = getConnections(ConnectionType.PULL); List<ForgeDirection> sides = getConnections(ConnectionType.PULL);
if(!sides.isEmpty()) if(!sides.isEmpty())
@ -119,7 +119,7 @@ public class PartUniversalCable extends PartTransmitter<EnergyNetwork> implement
} }
} }
} }
}*/ }
} }
super.update(); super.update();

View file

@ -175,7 +175,6 @@ public abstract class TileEntityBasicBlock extends TileEntity implements IWrench
} }
@Override @Override
@Method(modid = "IC2API")
public void setFacing(short direction) public void setFacing(short direction)
{ {
if(canSetFacing(direction)) if(canSetFacing(direction))

View file

@ -27,13 +27,6 @@ import cpw.mods.fml.common.Optional.InterfaceList;
import dan200.computercraft.api.peripheral.IComputerAccess; import dan200.computercraft.api.peripheral.IComputerAccess;
import dan200.computercraft.api.peripheral.IPeripheral; 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 public abstract class TileEntityBasicMachine extends TileEntityElectricBlock implements IElectricMachine, IPeripheral, IActiveState, IInvConfiguration, IUpgradeTile, IHasSound, IRedstoneControl
{ {
/** This machine's side configuration. */ /** This machine's side configuration. */

View file

@ -22,7 +22,6 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.util.ForgeDirection; 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.Interface;
import cpw.mods.fml.common.Optional.InterfaceList; import cpw.mods.fml.common.Optional.InterfaceList;
import cpw.mods.fml.common.Optional.Method; import cpw.mods.fml.common.Optional.Method;
@ -62,7 +61,7 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i
super(name); super(name);
MAX_ELECTRICITY = maxEnergy; MAX_ELECTRICITY = maxEnergy;
if(Loader.isModLoaded("BuildCraftAPI|power")) if(MekanismUtils.useBuildCraft())
{ {
powerHandler = new PowerHandler(this, PowerHandler.Type.STORAGE); powerHandler = new PowerHandler(this, PowerHandler.Type.STORAGE);
powerHandler.configurePowerPerdition(0, 0); powerHandler.configurePowerPerdition(0, 0);
@ -70,9 +69,10 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i
} }
} }
@Method(modid = "IC2API")
public void register() public void register()
{ {
if(!worldObj.isRemote && Loader.isModLoaded("IC2API")) if(!worldObj.isRemote)
{ {
if(!Mekanism.ic2Registered.contains(Coord4D.get(this))) if(!Mekanism.ic2Registered.contains(Coord4D.get(this)))
{ {
@ -81,10 +81,11 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i
} }
} }
} }
@Method(modid = "IC2API")
public void deregister() public void deregister()
{ {
if(!worldObj.isRemote && Loader.isModLoaded("IC2API")) if(!worldObj.isRemote)
{ {
if(Mekanism.ic2Registered.contains(Coord4D.get(this))) if(Mekanism.ic2Registered.contains(Coord4D.get(this)))
{ {
@ -154,6 +155,7 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i
@Override @Override
public void onChunkUnload() public void onChunkUnload()
{ {
if(MekanismUtils.useIC2())
deregister(); deregister();
super.onChunkUnload(); super.onChunkUnload();
@ -163,7 +165,8 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i
public void invalidate() public void invalidate()
{ {
super.invalidate(); super.invalidate();
if(MekanismUtils.useIC2())
deregister(); deregister();
} }
@ -198,7 +201,7 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i
protected void reconfigure() 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)); powerHandler.configure(1, (float)((getMaxEnergy()-getEnergy())*Mekanism.TO_BC), 0, (float)(getMaxEnergy()*Mekanism.TO_BC));
} }

View file

@ -17,13 +17,6 @@ import cpw.mods.fml.common.Optional.InterfaceList;
import dan200.computercraft.api.lua.ILuaContext; import dan200.computercraft.api.lua.ILuaContext;
import dan200.computercraft.api.peripheral.IComputerAccess; 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 public abstract class TileEntityElectricMachine extends TileEntityBasicMachine
{ {
/** /**

View file

@ -6,17 +6,12 @@ import java.util.Map;
import mekanism.client.gui.GuiProgress.ProgressBar; import mekanism.client.gui.GuiProgress.ProgressBar;
import mekanism.common.Mekanism; import mekanism.common.Mekanism;
import mekanism.common.block.BlockMachine.MachineType; import mekanism.common.block.BlockMachine.MachineType;
import mekanism.common.recipe.RecipeHandler;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import cpw.mods.fml.common.Optional.Interface; import cpw.mods.fml.common.Optional.Interface;
import cpw.mods.fml.common.Optional.InterfaceList; 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 class TileEntityEnergizedSmelter extends TileEntityElectricMachine
{ {
public static Map<ItemStack, ItemStack> furnaceRecipes = new HashMap<ItemStack, ItemStack>(); public static Map<ItemStack, ItemStack> furnaceRecipes = new HashMap<ItemStack, ItemStack>();

View file

@ -37,8 +37,6 @@ public class TileEntityEnergyCube extends TileEntityElectricBlock implements IPe
/** /**
* A block used to store and transfer electricity. * 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() public TileEntityEnergyCube()
{ {

View file

@ -25,10 +25,10 @@ import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidRegistry;
import buildcraft.api.fuels.IronEngineFuel; import buildcraft.api.fuels.IronEngineFuel;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.ModAPIManager;
import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent;
@ -63,7 +63,7 @@ public class MekanismGenerators implements IModule
@EventHandler @EventHandler
public void postInit(FMLPostInitializationEvent event) public void postInit(FMLPostInitializationEvent event)
{ {
if(Loader.isModLoaded("BuildCraftAPI|fuels")) if(ModAPIManager.INSTANCE.hasAPI("BuildCraftAPI|fuels"))
{ {
for(String s : IronEngineFuel.fuels.keySet()) for(String s : IronEngineFuel.fuels.keySet())
{ {

View file

@ -40,7 +40,7 @@ import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
import buildcraft.api.tools.IToolWrench; 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.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@ -304,7 +304,7 @@ public class BlockGenerator extends BlockContainer implements ISpecialBounds
if(entityplayer.getCurrentEquippedItem() != null) 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()) if(entityplayer.isSneaking())
{ {
@ -502,7 +502,7 @@ public class BlockGenerator extends BlockContainer implements ISpecialBounds
if(!world.isRemote) if(!world.isRemote)
{ {
if(tileEntity != null) if(tileEntity != null && MekanismUtils.useIC2())
{ {
((TileEntityElectricBlock)tileEntity).register(); ((TileEntityElectricBlock)tileEntity).register();
} }

View file

@ -49,7 +49,10 @@ public abstract class TileEntityGenerator extends TileEntityElectricBlock implem
{ {
super(name, maxEnergy); super(name, maxEnergy);
powerHandler.configure(0, 0, 0, 0); if(MekanismUtils.useBuildCraft())
{
powerHandler.configure(0, 0, 0, 0);
}
output = out; output = out;
isActive = false; isActive = false;