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 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());

View file

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

View file

@ -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();
}

View file

@ -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))
{

View file

@ -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();
}

View file

@ -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)
{

View file

@ -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<EnergyNetwork> implement
cacheEnergy = 0;
}
/*if(MekanismUtils.useIC2())
if(MekanismUtils.useIC2())
{
List<ForgeDirection> sides = getConnections(ConnectionType.PULL);
if(!sides.isEmpty())
@ -119,7 +119,7 @@ public class PartUniversalCable extends PartTransmitter<EnergyNetwork> implement
}
}
}
}*/
}
}
super.update();

View file

@ -175,7 +175,6 @@ public abstract class TileEntityBasicBlock extends TileEntity implements IWrench
}
@Override
@Method(modid = "IC2API")
public void setFacing(short 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.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. */

View file

@ -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));
}

View file

@ -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
{
/**

View file

@ -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<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.
* @param energy - maximum energy this block can hold.
* @param i - output per tick this block can handle.
*/
public TileEntityEnergyCube()
{

View file

@ -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())
{

View file

@ -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();
}

View file

@ -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;