From 0d736a612f417040fb0e4955e8546554319d4dae Mon Sep 17 00:00:00 2001 From: Calclavia Date: Sun, 16 Feb 2014 00:53:11 +0800 Subject: [PATCH] Tweaked some mechanical mechanics --- .../electrical/levitator/TileLevitator.java | 2 ++ .../resonantinduction/mechanical/gear/PartGear.java | 12 ++++++------ .../mechanical/gear/PartGearShaft.java | 4 ++-- .../mechanical/network/MechanicalNetwork.java | 6 +----- .../mechanical/network/PartMechanical.java | 2 +- .../mechanical/network/TileMechanical.java | 2 +- .../mechanical/turbine/TileWindTurbine.java | 5 +++-- 7 files changed, 16 insertions(+), 17 deletions(-) diff --git a/electrical/src/main/java/resonantinduction/electrical/levitator/TileLevitator.java b/electrical/src/main/java/resonantinduction/electrical/levitator/TileLevitator.java index dd5655d3..0c7ac07f 100644 --- a/electrical/src/main/java/resonantinduction/electrical/levitator/TileLevitator.java +++ b/electrical/src/main/java/resonantinduction/electrical/levitator/TileLevitator.java @@ -130,6 +130,8 @@ public class TileLevitator extends TileAdvanced implements IPacketReceiver, IPac { item.setEntityItemStack(remains); } + + //TODO: Add redstone pulse? } } } diff --git a/mechanical/src/main/java/resonantinduction/mechanical/gear/PartGear.java b/mechanical/src/main/java/resonantinduction/mechanical/gear/PartGear.java index 4b9b806b..9f59b77a 100644 --- a/mechanical/src/main/java/resonantinduction/mechanical/gear/PartGear.java +++ b/mechanical/src/main/java/resonantinduction/mechanical/gear/PartGear.java @@ -65,12 +65,12 @@ public class PartGear extends PartMechanical implements IMechanical, IMultiBlock { if (angularVelocity > 0) { - torque += 3; + torque += 5; angularVelocity += 0.02f; } else { - torque -= 3; + torque -= 5; angularVelocity -= 0.02f; } @@ -83,12 +83,12 @@ public class PartGear extends PartMechanical implements IMechanical, IMultiBlock switch (tier) { default: - torque *= 0.9f; - angularVelocity *= 0.95f; + torque *= 0.97f; + angularVelocity *= 0.98f; break; case 1: - torque *= 0.95f; - angularVelocity *= 0.9f; + torque *= 0.98f; + angularVelocity *= 0.97f; break; case 2: torque *= 0.99f; diff --git a/mechanical/src/main/java/resonantinduction/mechanical/gear/PartGearShaft.java b/mechanical/src/main/java/resonantinduction/mechanical/gear/PartGearShaft.java index e371bd23..8af16632 100644 --- a/mechanical/src/main/java/resonantinduction/mechanical/gear/PartGearShaft.java +++ b/mechanical/src/main/java/resonantinduction/mechanical/gear/PartGearShaft.java @@ -55,8 +55,8 @@ public class PartGearShaft extends PartMechanical if (!this.world().isRemote) { // Decelerate the gear. - torque *= 0.95f; - angularVelocity *= 0.95f; + torque *= 0.99f; + angularVelocity *= 0.99f; } } diff --git a/mechanical/src/main/java/resonantinduction/mechanical/network/MechanicalNetwork.java b/mechanical/src/main/java/resonantinduction/mechanical/network/MechanicalNetwork.java index 2fb07d70..a4632ec1 100644 --- a/mechanical/src/main/java/resonantinduction/mechanical/network/MechanicalNetwork.java +++ b/mechanical/src/main/java/resonantinduction/mechanical/network/MechanicalNetwork.java @@ -79,7 +79,7 @@ public class MechanicalNetwork extends Network if (adjacentMech != null && adjacent != mechanical) { - + //System.out.println("UPDATING: " + mechanical + " with " + adjacentMech); float ratio = adjacentMech.getRatio(dir.getOpposite(), mechanical) / mechanical.getRatio(dir, adjacentMech); long torque = mechanical.getTorque(); @@ -88,16 +88,12 @@ public class MechanicalNetwork extends Network int inversion = inverseRotation ? -1 : 1; if (Math.abs(torque + inversion * (adjacentMech.getTorque() / ratio * ACCELERATION)) < Math.abs(adjacentMech.getTorque() / ratio)) - { mechanical.setTorque((long) (torque + inversion * ((adjacentMech.getTorque() / ratio * ACCELERATION)))); - } float velocity = mechanical.getAngularVelocity(); if (Math.abs(velocity + inversion * (adjacentMech.getAngularVelocity() * ratio * ACCELERATION)) < Math.abs(adjacentMech.getAngularVelocity() * ratio)) - { mechanical.setAngularVelocity(velocity + (inversion * adjacentMech.getAngularVelocity() * ratio * ACCELERATION)); - } } } } diff --git a/mechanical/src/main/java/resonantinduction/mechanical/network/PartMechanical.java b/mechanical/src/main/java/resonantinduction/mechanical/network/PartMechanical.java index 513d4247..25044337 100644 --- a/mechanical/src/main/java/resonantinduction/mechanical/network/PartMechanical.java +++ b/mechanical/src/main/java/resonantinduction/mechanical/network/PartMechanical.java @@ -139,7 +139,7 @@ public abstract class PartMechanical extends JCuboidPart implements JNormalOcclu @Override public void preRemove() { - this.getNetwork().split(this); + getNetwork().split(this); } /** Packet Code. */ diff --git a/mechanical/src/main/java/resonantinduction/mechanical/network/TileMechanical.java b/mechanical/src/main/java/resonantinduction/mechanical/network/TileMechanical.java index c5adf805..83e3aa44 100644 --- a/mechanical/src/main/java/resonantinduction/mechanical/network/TileMechanical.java +++ b/mechanical/src/main/java/resonantinduction/mechanical/network/TileMechanical.java @@ -44,7 +44,7 @@ public abstract class TileMechanical extends TileAdvanced implements IMechanical torque *= getLoad(); angularVelocity *= getLoad(); - if (Math.abs(prevAngularVelocity - angularVelocity) > 0.05f) + if (Math.abs(prevAngularVelocity - angularVelocity) > 0.01f) { prevAngularVelocity = angularVelocity; markPacketUpdate = true; diff --git a/mechanical/src/main/java/resonantinduction/mechanical/turbine/TileWindTurbine.java b/mechanical/src/main/java/resonantinduction/mechanical/turbine/TileWindTurbine.java index c0d60599..5d29514c 100644 --- a/mechanical/src/main/java/resonantinduction/mechanical/turbine/TileWindTurbine.java +++ b/mechanical/src/main/java/resonantinduction/mechanical/turbine/TileWindTurbine.java @@ -36,7 +36,7 @@ public class TileWindTurbine extends TileTurbine implements IMechanical */ if (getDirection().offsetY == 0) { - maxPower = 100; + maxPower = 500; getMultiBlock().get().power += getWindPower(); } else @@ -44,6 +44,7 @@ public class TileWindTurbine extends TileTurbine implements IMechanical maxPower = 1000; } + if (!getMultiBlock().isConstructed()) torque = defaultTorque / 6; else @@ -66,7 +67,7 @@ public class TileWindTurbine extends TileTurbine implements IMechanical if (!worldObj.canBlockSeeTheSky(xCoord, yCoord + 4, zCoord)) return 0; - return (long) (((((float) yCoord + 4) / 256) * maxPower) + (hasBonus ? 80 : 0)) * (worldObj.isRaining() ? 2 : 1); + return (long) (((((float) yCoord + 4) / 256) * maxPower) + (hasBonus ? 10 : 0)) * (worldObj.isRaining() ? 2 : 1); } @Override