Made mechanical network packets more efficient
This commit is contained in:
parent
5c3601585d
commit
883930a1bf
7 changed files with 215 additions and 80 deletions
|
@ -3,6 +3,7 @@ package resonantinduction.electrical.generator;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import resonantinduction.core.Reference;
|
||||||
import resonantinduction.core.prefab.block.BlockRIRotatable;
|
import resonantinduction.core.prefab.block.BlockRIRotatable;
|
||||||
import resonantinduction.core.render.RIBlockRenderingHandler;
|
import resonantinduction.core.render.RIBlockRenderingHandler;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
|
@ -13,6 +14,7 @@ public class BlockGenerator extends BlockRIRotatable
|
||||||
public BlockGenerator()
|
public BlockGenerator()
|
||||||
{
|
{
|
||||||
super("generator");
|
super("generator");
|
||||||
|
setTextureName(Reference.PREFIX + "material_steel");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -2,6 +2,7 @@ package resonantinduction.electrical.generator;
|
||||||
|
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
|
|
||||||
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraftforge.common.ForgeDirection;
|
import net.minecraftforge.common.ForgeDirection;
|
||||||
import resonantinduction.mechanical.network.IMechanical;
|
import resonantinduction.mechanical.network.IMechanical;
|
||||||
import universalelectricity.api.energy.EnergyStorageHandler;
|
import universalelectricity.api.energy.EnergyStorageHandler;
|
||||||
|
@ -15,8 +16,6 @@ import calclavia.lib.prefab.tile.TileElectrical;
|
||||||
*/
|
*/
|
||||||
public class TileGenerator extends TileElectrical implements IMechanical
|
public class TileGenerator extends TileElectrical implements IMechanical
|
||||||
{
|
{
|
||||||
private long power;
|
|
||||||
|
|
||||||
/** Generator turns KE -> EE. Inverted one will turn EE -> KE. */
|
/** Generator turns KE -> EE. Inverted one will turn EE -> KE. */
|
||||||
public boolean isInversed = false;
|
public boolean isInversed = false;
|
||||||
|
|
||||||
|
@ -33,7 +32,6 @@ public class TileGenerator extends TileElectrical implements IMechanical
|
||||||
{
|
{
|
||||||
if (!isInversed)
|
if (!isInversed)
|
||||||
{
|
{
|
||||||
this.power -= this.energy.receiveEnergy(power, true);
|
|
||||||
this.produce();
|
this.produce();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -88,4 +86,18 @@ public class TileGenerator extends TileElectrical implements IMechanical
|
||||||
{
|
{
|
||||||
energy.receiveEnergy((long) (torque * angularVelocity), true);
|
energy.receiveEnergy((long) (torque * angularVelocity), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void readFromNBT(NBTTagCompound nbt)
|
||||||
|
{
|
||||||
|
super.readFromNBT(nbt);
|
||||||
|
isInversed = nbt.getBoolean("isInversed");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void writeToNBT(NBTTagCompound nbt)
|
||||||
|
{
|
||||||
|
super.writeToNBT(nbt);
|
||||||
|
nbt.setBoolean("isInversed", isInversed);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -256,12 +256,6 @@ public class PartFramedWire extends PartAdvancedWire implements TSlottedPart, JN
|
||||||
IconHitEffects.addDestroyEffects(this, effectRenderer, false);
|
IconHitEffects.addDestroyEffects(this, effectRenderer, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onPartChanged(TMultiPart part)
|
|
||||||
{
|
|
||||||
refresh();
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isBlockedOnSide(ForgeDirection side)
|
public boolean isBlockedOnSide(ForgeDirection side)
|
||||||
{
|
{
|
||||||
TMultiPart blocker = tile().partMap(side.ordinal());
|
TMultiPart blocker = tile().partMap(side.ordinal());
|
||||||
|
@ -481,6 +475,12 @@ public class PartFramedWire extends PartAdvancedWire implements TSlottedPart, JN
|
||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPartChanged(TMultiPart part)
|
||||||
|
{
|
||||||
|
refresh();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Packets
|
* Packets
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -80,40 +80,135 @@ public class PartGear extends JCuboidPart implements JNormalOcclusion, TFacePart
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update()
|
public void update()
|
||||||
|
{
|
||||||
|
if (!this.world().isRemote)
|
||||||
{
|
{
|
||||||
if (manualCrankTime > 0)
|
if (manualCrankTime > 0)
|
||||||
{
|
{
|
||||||
onReceiveEnergy(null, 20, 0.3f);
|
onReceiveEnergy(null, 20, 0.3f);
|
||||||
manualCrankTime--;
|
manualCrankTime--;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!world().isRemote)
|
|
||||||
{
|
|
||||||
//TODO: Save packets.
|
|
||||||
if (markRotationUpdate || this.getNetwork().getPrevTorque() != this.getNetwork().getTorque() || this.getNetwork().getPrevAngularVelocity() != this.getNetwork().getAngularVelocity())
|
|
||||||
{
|
|
||||||
this.sendRotationUpdate(this.getNetwork().getTorque(), this.getNetwork().getAngularVelocity());
|
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
|
{
|
||||||
if (markRotationUpdate)
|
if (markRotationUpdate)
|
||||||
{
|
{
|
||||||
refresh();
|
updateRotations();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void networkUpdate()
|
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* Update angle rotation.
|
* Update angle rotation.
|
||||||
*/
|
*/
|
||||||
if (isClockwise)
|
if (isClockwise)
|
||||||
angle += this.getNetwork().getAngularVelocity() / 20;
|
angle += this.getNetwork().getAngularVelocity() / 20f;
|
||||||
else
|
else
|
||||||
angle -= this.getNetwork().getAngularVelocity() / 20;
|
angle -= this.getNetwork().getAngularVelocity() / 20f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNetworkChanged()
|
||||||
|
{
|
||||||
|
if (world() != null)
|
||||||
|
{
|
||||||
|
if (markRotationUpdate)
|
||||||
|
{
|
||||||
|
updateRotations();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates rotations of all nearby gears.
|
||||||
|
*/
|
||||||
|
public void updateRotations()
|
||||||
|
{
|
||||||
|
/** Look for gears that are back-to-back with this gear. Equate torque. */
|
||||||
|
universalelectricity.api.vector.Vector3 vec = new universalelectricity.api.vector.Vector3(tile()).modifyPositionFromSide(placementSide);
|
||||||
|
|
||||||
|
TileEntity tile = vec.getTileEntity(world());
|
||||||
|
|
||||||
|
if (tile instanceof TileMultipart)
|
||||||
|
{
|
||||||
|
TMultiPart neighbor = ((TileMultipart) tile).partMap(this.placementSide.getOpposite().ordinal());
|
||||||
|
|
||||||
|
if (neighbor instanceof PartGear)
|
||||||
|
{
|
||||||
|
equateRotation((PartGear) neighbor, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Look for gears outside this block space, the relative UP, DOWN, LEFT, RIGHT */
|
||||||
|
for (int i = 0; i < 4; i++)
|
||||||
|
{
|
||||||
|
ForgeDirection checkDir = ForgeDirection.getOrientation(Rotation.rotateSide(this.placementSide.ordinal(), i));
|
||||||
|
universalelectricity.api.vector.Vector3 checkVec = new universalelectricity.api.vector.Vector3(tile()).modifyPositionFromSide(checkDir);
|
||||||
|
|
||||||
|
TileEntity checkTile = checkVec.getTileEntity(world());
|
||||||
|
|
||||||
|
if (checkTile instanceof TileMultipart)
|
||||||
|
{
|
||||||
|
TMultiPart neighbor = ((TileMultipart) checkTile).partMap(this.placementSide.ordinal());
|
||||||
|
|
||||||
|
if (neighbor != this && neighbor instanceof PartGear)
|
||||||
|
{
|
||||||
|
equateRotation((PartGear) neighbor, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Look for gears that are internal and adjacent to this gear. (The 2 sides) */
|
||||||
|
for (int i = 0; i < 4; i++)
|
||||||
|
{
|
||||||
|
ForgeDirection checkDir = ForgeDirection.getOrientation(i);
|
||||||
|
TMultiPart neighbor = tile().partMap(this.placementSide.getRotation(checkDir).ordinal());
|
||||||
|
|
||||||
|
if (neighbor != this && neighbor instanceof PartGear)
|
||||||
|
{
|
||||||
|
equateRotation((PartGear) neighbor, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
markRotationUpdate = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onAdded()
|
||||||
|
{
|
||||||
|
super.onAdded();
|
||||||
|
refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onMoved()
|
||||||
|
{
|
||||||
|
this.refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onChunkLoad()
|
||||||
|
{
|
||||||
|
super.onChunkLoad();
|
||||||
|
refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNeighborChanged()
|
||||||
|
{
|
||||||
|
super.onNeighborChanged();
|
||||||
|
refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPartChanged(TMultiPart part)
|
||||||
|
{
|
||||||
|
refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Refresh should be called sparingly.
|
||||||
|
*/
|
||||||
public void refresh()
|
public void refresh()
|
||||||
{
|
{
|
||||||
/** Look for gears that are back-to-back with this gear. Equate torque. */
|
/** Look for gears that are back-to-back with this gear. Equate torque. */
|
||||||
|
@ -129,13 +224,11 @@ public class PartGear extends JCuboidPart implements JNormalOcclusion, TFacePart
|
||||||
{
|
{
|
||||||
connections[this.placementSide.getOpposite().ordinal()] = neighbor;
|
connections[this.placementSide.getOpposite().ordinal()] = neighbor;
|
||||||
getNetwork().merge(((PartGear) neighbor).getNetwork());
|
getNetwork().merge(((PartGear) neighbor).getNetwork());
|
||||||
equateRotation((PartGear) neighbor, false);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (tile instanceof IMechanical)
|
else if (tile instanceof IMechanical)
|
||||||
{
|
{
|
||||||
connections[this.placementSide.getOpposite().ordinal()] = tile;
|
connections[this.placementSide.getOpposite().ordinal()] = tile;
|
||||||
getNetwork().reconstruct();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Look for gears outside this block space, the relative UP, DOWN, LEFT, RIGHT */
|
/** Look for gears outside this block space, the relative UP, DOWN, LEFT, RIGHT */
|
||||||
|
@ -154,7 +247,6 @@ public class PartGear extends JCuboidPart implements JNormalOcclusion, TFacePart
|
||||||
{
|
{
|
||||||
connections[checkDir.ordinal()] = neighbor;
|
connections[checkDir.ordinal()] = neighbor;
|
||||||
getNetwork().merge(((PartGear) neighbor).getNetwork());
|
getNetwork().merge(((PartGear) neighbor).getNetwork());
|
||||||
equateRotation((PartGear) neighbor, false);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -169,11 +261,10 @@ public class PartGear extends JCuboidPart implements JNormalOcclusion, TFacePart
|
||||||
{
|
{
|
||||||
connections[checkDir.ordinal()] = neighbor;
|
connections[checkDir.ordinal()] = neighbor;
|
||||||
getNetwork().merge(((PartGear) neighbor).getNetwork());
|
getNetwork().merge(((PartGear) neighbor).getNetwork());
|
||||||
equateRotation((PartGear) neighbor, false);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
markRotationUpdate = false;
|
getNetwork().reconstruct();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -212,19 +303,19 @@ public class PartGear extends JCuboidPart implements JNormalOcclusion, TFacePart
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onReceiveEnergy(ForgeDirection from, long torque, float angularVelocity)
|
public void onReceiveEnergy(ForgeDirection from, long torque, float angularVelocity)
|
||||||
|
{
|
||||||
|
if (!world().isRemote)
|
||||||
{
|
{
|
||||||
getNetwork().applyEnergy(torque, angularVelocity);
|
getNetwork().applyEnergy(torque, angularVelocity);
|
||||||
markRotationUpdate = true;
|
markRotationUpdate = true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void preRemove()
|
public void preRemove()
|
||||||
{
|
|
||||||
if (!world().isRemote)
|
|
||||||
{
|
{
|
||||||
this.getNetwork().split(this);
|
this.getNetwork().split(this);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/** Packet Code. */
|
/** Packet Code. */
|
||||||
@Override
|
@Override
|
||||||
|
@ -245,19 +336,22 @@ public class PartGear extends JCuboidPart implements JNormalOcclusion, TFacePart
|
||||||
read(packet, packet.readUByte());
|
read(packet, packet.readUByte());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sendNetworkPacket(long torque, float angularVelocity)
|
||||||
|
{System.out.println("SEND");
|
||||||
|
tile().getWriteStream(this).writeByte(0).writeLong(torque).writeFloat(angularVelocity).writeBoolean(isClockwise);
|
||||||
|
}
|
||||||
|
|
||||||
public void read(MCDataInput packet, int packetID)
|
public void read(MCDataInput packet, int packetID)
|
||||||
{
|
{
|
||||||
if (packetID == 0)
|
if (packetID == 0)
|
||||||
{
|
{
|
||||||
onReceiveEnergy(null, packet.readLong(), packet.readFloat());
|
getNetwork().setPower(packet.readLong(), packet.readFloat());
|
||||||
|
isClockwise = packet.readBoolean();
|
||||||
|
markRotationUpdate = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendRotationUpdate(long torque, float angularVelocity)
|
|
||||||
{
|
|
||||||
tile().getWriteStream(this).writeByte(0).writeLong(torque).writeFloat(angularVelocity);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getSlotMask()
|
public int getSlotMask()
|
||||||
{
|
{
|
||||||
|
|
|
@ -13,5 +13,10 @@ public interface IMechanicalConnector extends IMechanical, IConnector<IMechanica
|
||||||
/**
|
/**
|
||||||
* An update called by the network.
|
* An update called by the network.
|
||||||
*/
|
*/
|
||||||
public void networkUpdate();
|
public void onNetworkChanged();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Uses this connector to send a packet to the client.
|
||||||
|
*/
|
||||||
|
public void sendNetworkPacket(long torque, float angularVelocity);
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@ public interface IMechanicalNetwork extends INetwork<IMechanicalNetwork, IMechan
|
||||||
public long getPower();
|
public long getPower();
|
||||||
|
|
||||||
/** Torque applied by the network at the given speed */
|
/** Torque applied by the network at the given speed */
|
||||||
public int getTorque();
|
public long getTorque();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the angular velocity of the network.
|
* Gets the angular velocity of the network.
|
||||||
|
@ -26,7 +26,7 @@ public interface IMechanicalNetwork extends INetwork<IMechanicalNetwork, IMechan
|
||||||
*/
|
*/
|
||||||
public float getAngularVelocity();
|
public float getAngularVelocity();
|
||||||
|
|
||||||
public int getPrevTorque();
|
public long getPrevTorque();
|
||||||
|
|
||||||
public float getPrevAngularVelocity();
|
public float getPrevAngularVelocity();
|
||||||
|
|
||||||
|
@ -34,4 +34,6 @@ public interface IMechanicalNetwork extends INetwork<IMechanicalNetwork, IMechan
|
||||||
public void reconstruct();
|
public void reconstruct();
|
||||||
|
|
||||||
public void applyEnergy(long torque, float angularVelocity);
|
public void applyEnergy(long torque, float angularVelocity);
|
||||||
|
|
||||||
|
public void setPower(long readLong, float readFloat);
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,24 +29,35 @@ import universalelectricity.core.net.NetworkTickHandler;
|
||||||
*/
|
*/
|
||||||
public class MechanicalNetwork extends Network<IMechanicalNetwork, IMechanicalConnector, IMechanical> implements IMechanicalNetwork
|
public class MechanicalNetwork extends Network<IMechanicalNetwork, IMechanicalConnector, IMechanical> implements IMechanicalNetwork
|
||||||
{
|
{
|
||||||
public int prevTorque = 0;
|
private long prevTorque = 0;
|
||||||
public float prevAngularVelocity = 0;
|
private float prevAngularVelocity = 0;
|
||||||
|
|
||||||
public int torque = 0;
|
private long torque = 0;
|
||||||
public float angularVelocity = 0;
|
private float angularVelocity = 0;
|
||||||
|
|
||||||
/** The direction in which a conductor is placed relative to a specific conductor. */
|
/** The direction in which a conductor is placed relative to a specific conductor. */
|
||||||
protected final HashMap<Object, EnumSet<ForgeDirection>> handlerDirectionMap = new LinkedHashMap<Object, EnumSet<ForgeDirection>>();
|
protected final HashMap<Object, EnumSet<ForgeDirection>> handlerDirectionMap = new LinkedHashMap<Object, EnumSet<ForgeDirection>>();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An network update called only server side.
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void update()
|
public void update()
|
||||||
{
|
{
|
||||||
prevTorque = torque;
|
if (getPrevTorque() != getTorque() || getPrevAngularVelocity() != getAngularVelocity())
|
||||||
prevAngularVelocity = angularVelocity;
|
{
|
||||||
|
boolean isFirst = true;
|
||||||
|
|
||||||
for (IMechanicalConnector connector : this.getConnectors())
|
for (IMechanicalConnector connector : this.getConnectors())
|
||||||
{
|
{
|
||||||
connector.networkUpdate();
|
if (isFirst)
|
||||||
|
{
|
||||||
|
connector.sendNetworkPacket(torque, angularVelocity);
|
||||||
|
isFirst = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
connector.onNetworkChanged();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (IMechanical node : this.getNodes())
|
for (IMechanical node : this.getNodes())
|
||||||
|
@ -56,12 +67,16 @@ public class MechanicalNetwork extends Network<IMechanicalNetwork, IMechanicalCo
|
||||||
node.onReceiveEnergy(dir, torque, angularVelocity);
|
node.onReceiveEnergy(dir, torque, angularVelocity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
prevTorque = torque;
|
||||||
|
prevAngularVelocity = angularVelocity;
|
||||||
torque = 0;
|
torque = 0;
|
||||||
angularVelocity = 0;
|
angularVelocity = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Applies energy to the mechanical network this tick.
|
* Applies energy to the mechanical network this tick.
|
||||||
|
* Note: Server side only.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void applyEnergy(long torque, float angularVelocity)
|
public void applyEnergy(long torque, float angularVelocity)
|
||||||
|
@ -72,21 +87,42 @@ public class MechanicalNetwork extends Network<IMechanicalNetwork, IMechanicalCo
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getTorque()
|
public long getPrevTorque()
|
||||||
{
|
{
|
||||||
return this.torque;
|
return prevTorque;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public float getPrevAngularVelocity()
|
||||||
|
{
|
||||||
|
return prevAngularVelocity;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long getTorque()
|
||||||
|
{
|
||||||
|
return torque;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float getAngularVelocity()
|
public float getAngularVelocity()
|
||||||
{
|
{
|
||||||
return this.angularVelocity;
|
return angularVelocity;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long getPower()
|
public long getPower()
|
||||||
{
|
{
|
||||||
return (long) (this.getTorque() * this.getAngularVelocity());
|
return (long) (getTorque() * getAngularVelocity());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPower(long torque, float angularVelocity)
|
||||||
|
{
|
||||||
|
prevTorque = this.torque;
|
||||||
|
prevAngularVelocity = this.angularVelocity;
|
||||||
|
this.torque = torque;
|
||||||
|
this.angularVelocity = angularVelocity;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -98,7 +134,7 @@ public class MechanicalNetwork extends Network<IMechanicalNetwork, IMechanicalCo
|
||||||
@Override
|
@Override
|
||||||
public boolean continueUpdate()
|
public boolean continueUpdate()
|
||||||
{
|
{
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -125,11 +161,6 @@ public class MechanicalNetwork extends Network<IMechanicalNetwork, IMechanicalCo
|
||||||
it.remove();
|
it.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.getNodes().size() > 0)
|
|
||||||
{
|
|
||||||
NetworkTickHandler.addNetwork(this);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -269,15 +300,4 @@ public class MechanicalNetwork extends Network<IMechanicalNetwork, IMechanicalCo
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getPrevTorque()
|
|
||||||
{
|
|
||||||
return prevTorque;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public float getPrevAngularVelocity()
|
|
||||||
{
|
|
||||||
return prevAngularVelocity;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue