Fix ic2 pulling and IConfigurable passthrough (leaving the OreDict fix for the Pull Request). getConnectedOutputters was broken.

This commit is contained in:
Ben Spiers 2014-06-26 23:47:33 +01:00
parent 3a027d0ef4
commit ac223c8df5
3 changed files with 6 additions and 6 deletions

View file

@ -30,7 +30,7 @@ public class MultipartMekanism implements IPartFactory
MultipartGenerator.registerPassThroughInterface("mekanism.common.ILogisticalTransporter");
MultipartGenerator.registerPassThroughInterface("buildcraft.api.power.IPowerReceptor");
MultipartGenerator.registerPassThroughInterface("cofh.api.energy.IEnergyHandler");
MultipartGenerator.registerPassThroughInterface("mekanism.common.IConfigurable");
MultipartGenerator.registerPassThroughInterface("mekanism.api.IConfigurable");
MultipartGenerator.registerPassThroughInterface("mekanism.common.ITileNetwork");
MultipartGenerator.registerPassThroughInterface("mekanism.api.transmitters.IBlockableConnection");
MultipartGenerator.registerPassThroughInterface("mekanism.api.gas.IGasHandler");

View file

@ -95,13 +95,13 @@ public class PartUniversalCable extends PartTransmitter<EnergyNetwork> implement
List<ForgeDirection> sides = getConnections(ConnectionType.PULL);
if(!sides.isEmpty())
{
TileEntity[] connectedAcceptors = CableUtils.getConnectedEnergyAcceptors(tile());
TileEntity[] connectedOutputters = CableUtils.getConnectedOutputters(tile());
for(ForgeDirection side : sides)
{
if(connectedAcceptors[side.ordinal()] != null)
if(connectedOutputters[side.ordinal()] != null)
{
TileEntity acceptor = connectedAcceptors[side.ordinal()];
TileEntity acceptor = connectedOutputters[side.ordinal()];
if(acceptor instanceof IEnergySource)
{

View file

@ -137,7 +137,7 @@ public final class CableUtils
{
TileEntity outputter = Coord4D.get(tileEntity).getFromSide(orientation).getTileEntity(tileEntity.getWorldObj());
if(isOutputter(tileEntity, orientation))
if(isOutputter(outputter, orientation))
{
outputters[orientation.ordinal()] = outputter;
}
@ -149,7 +149,7 @@ public final class CableUtils
public static boolean isOutputter(TileEntity tileEntity, ForgeDirection side)
{
return (tileEntity instanceof ICableOutputter && ((ICableOutputter)tileEntity).canOutputTo(side.getOpposite())) ||
(MekanismUtils.useIC2() && tileEntity instanceof IEnergySource && ((IEnergySource)tileEntity).emitsEnergyTo(tileEntity, side.getOpposite())) ||
(MekanismUtils.useIC2() && tileEntity instanceof IEnergySource && ((IEnergySource)tileEntity).emitsEnergyTo(null, side.getOpposite())) ||
(MekanismUtils.useRF() && tileEntity instanceof IEnergyHandler && ((IEnergyHandler)tileEntity).canConnectEnergy(side.getOpposite())) ||
(MekanismUtils.useBuildCraft() && tileEntity instanceof IPowerEmitter && ((IPowerEmitter)tileEntity).canEmitPowerFrom(side.getOpposite()));
}