diff --git a/src/main/java/resonantinduction/api/fluid/IFluidNetwork.java b/src/main/java/resonantinduction/api/fluid/IFluidNetwork.java index 6a526579..c2bdf459 100644 --- a/src/main/java/resonantinduction/api/fluid/IFluidNetwork.java +++ b/src/main/java/resonantinduction/api/fluid/IFluidNetwork.java @@ -5,14 +5,14 @@ import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTank; import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidHandler; -import universalelectricity.api.net.INetwork; +import universalelectricity.api.net.INodeNetwork; /** * Interface version of the fluid network. * * @author DarkGuardsman */ -public interface IFluidNetwork extends INetwork +public interface IFluidNetwork extends INodeNetwork { /** Called to build the network when something changes such as addition of a pipe */ @Override diff --git a/src/main/java/resonantinduction/core/prefab/part/PartFramedConnection.java b/src/main/java/resonantinduction/core/prefab/part/PartFramedConnection.java index f037277f..93a04213 100644 --- a/src/main/java/resonantinduction/core/prefab/part/PartFramedConnection.java +++ b/src/main/java/resonantinduction/core/prefab/part/PartFramedConnection.java @@ -12,7 +12,7 @@ import net.minecraft.util.Icon; import net.minecraft.util.MovingObjectPosition; import net.minecraftforge.common.ForgeDirection; import universalelectricity.api.net.IConnector; -import universalelectricity.api.net.INetwork; +import universalelectricity.api.net.INodeNetwork; import universalelectricity.api.vector.Vector3; import universalelectricity.api.vector.VectorHelper; import codechicken.lib.data.MCDataInput; @@ -33,7 +33,7 @@ import codechicken.multipart.TMultiPart; import codechicken.multipart.TSlottedPart; import codechicken.multipart.TileMultipart; -public abstract class PartFramedConnection, N extends INetwork> extends PartColorableMaterial implements IConnector, TSlottedPart, JNormalOcclusion, IHollowConnect, JIconHitEffects +public abstract class PartFramedConnection, N extends INodeNetwork> extends PartColorableMaterial implements IConnector, TSlottedPart, JNormalOcclusion, IHollowConnect, JIconHitEffects { public static IndexedCuboid6[] sides = new IndexedCuboid6[7]; diff --git a/src/main/java/resonantinduction/electrical/battery/BatteryStructure.java b/src/main/java/resonantinduction/electrical/battery/BatteryNetwork.java similarity index 60% rename from src/main/java/resonantinduction/electrical/battery/BatteryStructure.java rename to src/main/java/resonantinduction/electrical/battery/BatteryNetwork.java index aece22f0..0cf3764d 100644 --- a/src/main/java/resonantinduction/electrical/battery/BatteryStructure.java +++ b/src/main/java/resonantinduction/electrical/battery/BatteryNetwork.java @@ -2,29 +2,29 @@ package resonantinduction.electrical.battery; import java.util.Arrays; -import calclavia.lib.multiblock.structure.Structure; +import universalelectricity.core.net.Network; -public class BatteryStructure extends Structure +public class BatteryNetwork extends Network { public void redistribute(TileBattery... exclusion) { long totalEnergy = 0; - for (TileBattery battery : this.get()) + for (TileBattery battery : this.getConnectors()) { totalEnergy += battery.getEnergy(null); } - int amountOfNodes = this.get().size() - exclusion.length; + int amountOfNodes = this.getConnectors().size() - exclusion.length; if (totalEnergy > 0 && amountOfNodes > 0) { long totalPerBattery = totalEnergy / amountOfNodes; long totalPerBatteryRemainder = totalPerBattery + totalEnergy % amountOfNodes; - TileBattery firstNode = this.getFirstNode(); + TileBattery firstNode = this.getFirstConnector(); - for (TileBattery battery : this.get()) + for (TileBattery battery : this.getConnectors()) { if (!Arrays.asList(exclusion).contains(battery)) { @@ -42,14 +42,14 @@ public class BatteryStructure extends Structure } @Override - public Structure getNew() - { - return new BatteryStructure(); - } - - @Override - protected void reconstructNode(TileBattery node) + protected void reconstructConnector(TileBattery node) { node.setNetwork(this); } + + @Override + public BatteryNetwork newInstance() + { + return new BatteryNetwork(); + } } diff --git a/src/main/java/resonantinduction/electrical/battery/TileBattery.java b/src/main/java/resonantinduction/electrical/battery/TileBattery.java index a23b2eab..902fda8d 100644 --- a/src/main/java/resonantinduction/electrical/battery/TileBattery.java +++ b/src/main/java/resonantinduction/electrical/battery/TileBattery.java @@ -29,7 +29,7 @@ import cpw.mods.fml.common.network.PacketDispatcher; * * @author Calclavia */ -public class TileBattery extends TileElectrical implements IConnector, IVoltageInput, IVoltageOutput, IPacketSender, IPacketReceiver, IEnergyInterface, IEnergyContainer +public class TileBattery extends TileElectrical implements IConnector, IVoltageInput, IVoltageOutput, IPacketSender, IPacketReceiver, IEnergyInterface, IEnergyContainer { /** The transfer rate **/ public static final long DEFAULT_WATTAGE = getEnergyForTier(1); @@ -37,7 +37,7 @@ public class TileBattery extends TileElectrical implements IConnector playersUsing = new HashSet(); @@ -81,7 +81,7 @@ public class TileBattery extends TileElectrical implements IConnector implements IFluidNetwork +public abstract class FluidNetwork extends NodeNetwork implements IFluidNetwork, IUpdate { protected FluidTank tank = new FluidTank(0); protected final FluidTankInfo[] tankInfo = new FluidTankInfo[1]; diff --git a/src/main/java/resonantinduction/mechanical/network/IMechanicalNetwork.java b/src/main/java/resonantinduction/mechanical/network/IMechanicalNetwork.java index 35c6b89f..8fbd912e 100644 --- a/src/main/java/resonantinduction/mechanical/network/IMechanicalNetwork.java +++ b/src/main/java/resonantinduction/mechanical/network/IMechanicalNetwork.java @@ -1,13 +1,13 @@ package resonantinduction.mechanical.network; -import universalelectricity.api.net.INetwork; +import universalelectricity.api.net.INodeNetwork; /** * Mechanical network in interface form for interaction or extension * * @author DarkGuardsman */ -public interface IMechanicalNetwork extends INetwork +public interface IMechanicalNetwork extends INodeNetwork { /** * Gets the power of the network. diff --git a/src/main/java/resonantinduction/mechanical/network/MechanicalNetwork.java b/src/main/java/resonantinduction/mechanical/network/MechanicalNetwork.java index 7461aabe..1bc57cfa 100644 --- a/src/main/java/resonantinduction/mechanical/network/MechanicalNetwork.java +++ b/src/main/java/resonantinduction/mechanical/network/MechanicalNetwork.java @@ -6,10 +6,9 @@ import java.util.Iterator; import java.util.LinkedHashMap; import net.minecraftforge.common.ForgeDirection; -import universalelectricity.api.net.IConnector; -import universalelectricity.core.net.ConnectionPathfinder; -import universalelectricity.core.net.Network; +import universalelectricity.api.net.IUpdate; import universalelectricity.core.net.NetworkTickHandler; +import universalelectricity.core.net.NodeNetwork; /** * A mechanical network for translate speed and force using mechanical rotations. @@ -27,7 +26,7 @@ import universalelectricity.core.net.NetworkTickHandler; * * @author Calclavia */ -public class MechanicalNetwork extends Network implements IMechanicalNetwork +public class MechanicalNetwork extends NodeNetwork implements IMechanicalNetwork, IUpdate { private long prevTorque = 0; private float prevAngularVelocity = 0;