diff --git a/src/main/scala/resonantinduction/mechanical/mech/gear/PartGear.scala b/src/main/scala/resonantinduction/mechanical/mech/gear/PartGear.scala index 2fc20b55c..5bb13bd2a 100644 --- a/src/main/scala/resonantinduction/mechanical/mech/gear/PartGear.scala +++ b/src/main/scala/resonantinduction/mechanical/mech/gear/PartGear.scala @@ -41,8 +41,8 @@ class PartGear extends PartMechanical with IMultiBlockStructure[PartGear] if (getMultiBlock.isPrimary) UpdateTicker.world.enqueue(() => if (world != null) sendPacket(1)) - if (mechanicalNode.angularVelocity == 0) - UpdateTicker.world.enqueue(() => if (world != null) sendPacket(2)) +// if (mechanicalNode.angularVelocity == 0) +// UpdateTicker.world.enqueue(() => if (world != null) sendPacket(2)) } mechanicalNode.onGridReconstruct = () => if (world != null && !world.isRemote) sendPacket(2) @@ -89,9 +89,9 @@ class PartGear extends PartMechanical with IMultiBlockStructure[PartGear] return super.activate(player, hit, itemStack) } - override def preRemove + override def preRemove() { - super.preRemove + super.preRemove() getMultiBlock.deconstruct() } diff --git a/src/main/scala/resonantinduction/mechanical/mech/grid/MechanicalGrid.scala b/src/main/scala/resonantinduction/mechanical/mech/grid/MechanicalGrid.scala index 165b692e5..7fda00194 100644 --- a/src/main/scala/resonantinduction/mechanical/mech/grid/MechanicalGrid.scala +++ b/src/main/scala/resonantinduction/mechanical/mech/grid/MechanicalGrid.scala @@ -70,14 +70,14 @@ class MechanicalGrid extends GridNode[NodeMechanical](classOf[NodeMechanical]) w val angularAcceleration = deltaTorque / n.momentOfInertia n._angularVelocity = angularAcceleration * deltaTime * inversion - if (Math.abs(n.torque - prevTorque) >= 0.1) + if (Math.abs(n.torque - prevTorque) > 0) n.onTorqueChanged() - if (Math.abs(n.angularVelocity - prevAngularVelocity) >= 0.01) + if (Math.abs(n.angularVelocity - prevAngularVelocity) > 0) n.onVelocityChanged() //Clear buffers - n.bufferTorque = 0 + n.bufferTorque = n.bufferDefaultTorque }) } } diff --git a/src/main/scala/resonantinduction/mechanical/mech/grid/NodeMechanical.scala b/src/main/scala/resonantinduction/mechanical/mech/grid/NodeMechanical.scala index 7e7cb194a..52e507c9a 100644 --- a/src/main/scala/resonantinduction/mechanical/mech/grid/NodeMechanical.scala +++ b/src/main/scala/resonantinduction/mechanical/mech/grid/NodeMechanical.scala @@ -39,6 +39,7 @@ class NodeMechanical(parent: INodeProvider) extends NodeGrid[NodeMechanical](par * Buffer values used by the grid to transfer mechanical energy. */ protected[grid] var bufferTorque = 0D + var bufferDefaultTorque = 0D /** * Angle calculations @@ -83,4 +84,6 @@ class NodeMechanical(parent: INodeProvider) extends NodeGrid[NodeMechanical](par override def newGrid: GridNode[NodeMechanical] = new MechanicalGrid override def isValidConnection(other: AnyRef): Boolean = other.isInstanceOf[NodeMechanical] + + override def toString = "NodeMechanical[Connections: "+connections.size() + " Torque: " + torque + " Angular Velocity:" + angularVelocity+"]" } \ No newline at end of file diff --git a/src/main/scala/resonantinduction/mechanical/mech/turbine/TileWindTurbine.scala b/src/main/scala/resonantinduction/mechanical/mech/turbine/TileWindTurbine.scala index 50c8d5cd3..af81004d8 100644 --- a/src/main/scala/resonantinduction/mechanical/mech/turbine/TileWindTurbine.scala +++ b/src/main/scala/resonantinduction/mechanical/mech/turbine/TileWindTurbine.scala @@ -64,7 +64,7 @@ class TileWindTurbine extends TileTurbine with IBoilHandler computePower() } - getMultiBlock.get.mechanicalNode.rotate(windTorque) + getMultiBlock.get.mechanicalNode.bufferDefaultTorque = windTorque } else {