diff --git a/src/main/java/resonantinduction/electrical/generator/TileGenerator.java b/src/main/java/resonantinduction/electrical/generator/TileGenerator.java index 4417f714..37f82262 100644 --- a/src/main/java/resonantinduction/electrical/generator/TileGenerator.java +++ b/src/main/java/resonantinduction/electrical/generator/TileGenerator.java @@ -22,7 +22,7 @@ public class TileGenerator extends TileElectrical implements IMechanical public TileGenerator() { - energy = new EnergyStorageHandler(10000, 100); + energy = new EnergyStorageHandler(10000, 1000); this.ioMap = 728; } @@ -44,7 +44,9 @@ public class TileGenerator extends TileElectrical implements IMechanical if (mechanical instanceof IMechanical) { long extract = energy.extractEnergy(); - ((IMechanical) mechanical).onReceiveEnergy(getOuputDirection().getOpposite(), (long) (extract / 0.5f), 0.5f); + + if (extract > 0) + ((IMechanical) mechanical).onReceiveEnergy(getOuputDirection().getOpposite(), (long) (500), extract / 500f); } } } diff --git a/src/main/java/resonantinduction/electrical/multimeter/ItemMultimeter.java b/src/main/java/resonantinduction/electrical/multimeter/ItemMultimeter.java index 327171de..86367c24 100644 --- a/src/main/java/resonantinduction/electrical/multimeter/ItemMultimeter.java +++ b/src/main/java/resonantinduction/electrical/multimeter/ItemMultimeter.java @@ -14,6 +14,7 @@ import resonantinduction.electrical.wire.EnumWireMaterial; import calclavia.lib.utility.LanguageUtility; import codechicken.lib.vec.BlockCoord; import codechicken.lib.vec.Vector3; +import codechicken.multipart.ControlKeyModifer; import codechicken.multipart.MultiPartRegistry; import codechicken.multipart.TMultiPart; import codechicken.multipart.TileMultipart; @@ -30,7 +31,7 @@ public class ItemMultimeter extends ItemMultipartBase @Override public TMultiPart newPart(ItemStack itemStack, EntityPlayer player, World world, BlockCoord pos, int side, Vector3 hit) { - if (world.getBlockTileEntity(pos.x, pos.y, pos.z) instanceof TileMultipart) + if (world.getBlockTileEntity(pos.x, pos.y, pos.z) instanceof TileMultipart && !ControlKeyModifer.isControlDown(player)) { pos.offset(side ^ 1, -1); } diff --git a/src/main/java/resonantinduction/mechanical/gear/PartGear.java b/src/main/java/resonantinduction/mechanical/gear/PartGear.java index 476d36fa..c6d3d2ff 100644 --- a/src/main/java/resonantinduction/mechanical/gear/PartGear.java +++ b/src/main/java/resonantinduction/mechanical/gear/PartGear.java @@ -87,11 +87,19 @@ public class PartGear extends JCuboidPart implements JNormalOcclusion, TFacePart 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()); + } + } + if (markRotationUpdate) { refresh(); } - } @Override @@ -194,7 +202,7 @@ public class PartGear extends JCuboidPart implements JNormalOcclusion, TFacePart @Override public boolean activate(EntityPlayer player, MovingObjectPosition hit, ItemStack item) { - System.out.println(this.getNetwork().getAngularVelocity()); + System.out.println(world().isRemote + " : " + this.getNetwork().getAngularVelocity()); if (player.isSneaking()) { this.manualCrankTime = 20; @@ -207,9 +215,6 @@ public class PartGear extends JCuboidPart implements JNormalOcclusion, TFacePart { getNetwork().applyEnergy(torque, angularVelocity); markRotationUpdate = true; - - if (!world().isRemote) - this.sendRotationUpdate(torque, angularVelocity); } @Override diff --git a/src/main/java/resonantinduction/mechanical/network/IMechanicalNetwork.java b/src/main/java/resonantinduction/mechanical/network/IMechanicalNetwork.java index 07514e02..0e1a34b6 100644 --- a/src/main/java/resonantinduction/mechanical/network/IMechanicalNetwork.java +++ b/src/main/java/resonantinduction/mechanical/network/IMechanicalNetwork.java @@ -26,6 +26,10 @@ public interface IMechanicalNetwork extends INetwork implements IMechanicalNetwork { + public int prevTorque = 0; + public float prevAngularVelocity = 0; + public int torque = 0; public float angularVelocity = 0; @@ -38,6 +41,9 @@ public class MechanicalNetwork extends Network