From 14fb453bb8911db08f6665af6e4bc210e8157ae6 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Sat, 30 Nov 2013 01:28:40 -0500 Subject: [PATCH] Change the way UE integration works in Universal Cables --- .../tileentity/TileEntityUniversalCable.java | 135 ++++++------------ 1 file changed, 41 insertions(+), 94 deletions(-) diff --git a/common/mekanism/common/tileentity/TileEntityUniversalCable.java b/common/mekanism/common/tileentity/TileEntityUniversalCable.java index 438142cad..02626e187 100644 --- a/common/mekanism/common/tileentity/TileEntityUniversalCable.java +++ b/common/mekanism/common/tileentity/TileEntityUniversalCable.java @@ -5,9 +5,7 @@ import ic2.api.energy.event.EnergyTileUnloadEvent; import ic2.api.energy.tile.IEnergySink; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashSet; -import java.util.Set; import mekanism.api.transmitters.ITransmitter; import mekanism.api.transmitters.TransmissionType; @@ -15,16 +13,13 @@ import mekanism.api.transmitters.TransmitterNetworkRegistry; import mekanism.common.EnergyNetwork; import mekanism.common.Mekanism; import mekanism.common.Object3D; -import mekanism.common.PacketHandler; -import mekanism.common.PacketHandler.Transmission; -import mekanism.common.network.PacketDataRequest; import mekanism.common.util.CableUtils; import mekanism.common.util.MekanismUtils; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.MinecraftForge; -import universalelectricity.core.block.IConductor; +import universalelectricity.core.block.IElectrical; import universalelectricity.core.electricity.ElectricityPack; import universalelectricity.core.grid.IElectricityNetwork; import buildcraft.api.power.IPowerEmitter; @@ -33,7 +28,7 @@ import buildcraft.api.power.PowerHandler; import buildcraft.api.power.PowerHandler.PowerReceiver; import cofh.api.energy.IEnergyHandler; -public class TileEntityUniversalCable extends TileEntityTransmitter implements IPowerReceptor, IEnergySink, IConductor, IEnergyHandler +public class TileEntityUniversalCable extends TileEntityTransmitter implements IPowerReceptor, IEnergySink, IEnergyHandler, IElectrical { /** A fake power handler used to initiate energy transfer calculations. */ public PowerHandler powerHandler; @@ -45,7 +40,6 @@ public class TileEntityUniversalCable extends TileEntityTransmitter getPossibleDirections(TileEntity tile) + if(doReceive && receive != null && receive.getWatts() > 0) { - return new ArrayList(); + return receive.getWatts() - (float)(getTransmitterNetwork().emit(receive.getWatts()*Mekanism.FROM_UE, list)); } - @Override - public Set getConductors() - { - return new HashSet(); - } - - @Override - public Set getAcceptors() - { - return getTransmitterNetwork().getAcceptors(); - } - - @Override - public float produce(ElectricityPack electricityPack, TileEntity... ignoreTiles) - { - ArrayList ignore = new ArrayList(); - ignore.addAll(Arrays.asList(ignoreTiles)); - double energy = electricityPack.getWatts() * Mekanism.FROM_UE; - return (float)getTransmitterNetwork().emit(energy, ignore); - } - - @Override - public float getTotalResistance() - { - return 0; - } - - @Override - public ElectricityPack getRequest(TileEntity... ignoreTiles) - { - return ElectricityPack.getFromWatts((float)getTransmitterNetwork().getEnergyNeeded(new ArrayList()), 0.12F); - } - - @Override - public float getLowestCurrentCapacity() - { - return Integer.MAX_VALUE; - } + return 0; + } + + @Override + public ElectricityPack provideElectricity(ForgeDirection from, ElectricityPack request, boolean doProvide) + { + return null; + } + + @Override + public float getRequest(ForgeDirection direction) + { + ArrayList list = new ArrayList(); + list.add(Object3D.get(this).getFromSide(direction).getTileEntity(worldObj)); + return (float)(getTransmitterNetwork().getEnergyNeeded(list)*Mekanism.TO_UE); + } + + @Override + public float getProvide(ForgeDirection direction) + { + return 0; + } + + @Override + public float getVoltage() + { + return 120; } } \ No newline at end of file