From a0ec8a83c0041cf0553e6469711c3efaa6e5863c Mon Sep 17 00:00:00 2001 From: Calclavia Date: Tue, 28 Jan 2014 15:45:23 +0800 Subject: [PATCH] Fixed setVelocity null point exception --- .../resonantinduction/mechanical/gear/PartGearShaft.java | 2 +- .../mechanical/network/PartMechanical.java | 8 ++++---- .../mechanical/network/TileMechanical.java | 6 ++++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/java/resonantinduction/mechanical/gear/PartGearShaft.java b/src/main/java/resonantinduction/mechanical/gear/PartGearShaft.java index 9eedf992..02d2ae69 100644 --- a/src/main/java/resonantinduction/mechanical/gear/PartGearShaft.java +++ b/src/main/java/resonantinduction/mechanical/gear/PartGearShaft.java @@ -93,7 +93,7 @@ public class PartGearShaft extends PartMechanical { IMechanical instance = (IMechanical) ((IMechanical) checkTile).getInstance(checkDir.getOpposite()); - // Only connet to shafts outside of this block space. + // Only connect to shafts outside of this block space. if (instance != null && instance != this && instance.canConnect(checkDir.getOpposite(), this) && instance instanceof PartGearShaft) { connections[checkDir.ordinal()] = instance; diff --git a/src/main/java/resonantinduction/mechanical/network/PartMechanical.java b/src/main/java/resonantinduction/mechanical/network/PartMechanical.java index 96e264cb..af9fbae3 100644 --- a/src/main/java/resonantinduction/mechanical/network/PartMechanical.java +++ b/src/main/java/resonantinduction/mechanical/network/PartMechanical.java @@ -62,8 +62,8 @@ public abstract class PartMechanical extends JCuboidPart implements JNormalOcclu if (!world().isRemote) { System.out.println(this + ":" + getNetwork()); - for(Object obj : connections) - System.out.println(obj); + for (Object obj : connections) + System.out.println(obj); } return false; @@ -263,7 +263,7 @@ public abstract class PartMechanical extends JCuboidPart implements JNormalOcclu @Override public void setAngularVelocity(float velocity) { - if (!world().isRemote) + if (world() != null && !world().isRemote) this.angularVelocity = velocity; } @@ -276,7 +276,7 @@ public abstract class PartMechanical extends JCuboidPart implements JNormalOcclu @Override public void setTorque(long torque) { - if (!world().isRemote) + if (world() != null && !world().isRemote) this.torque = torque; } diff --git a/src/main/java/resonantinduction/mechanical/network/TileMechanical.java b/src/main/java/resonantinduction/mechanical/network/TileMechanical.java index 8bfde6b1..b18a0805 100644 --- a/src/main/java/resonantinduction/mechanical/network/TileMechanical.java +++ b/src/main/java/resonantinduction/mechanical/network/TileMechanical.java @@ -1,5 +1,6 @@ package resonantinduction.mechanical.network; +import resonantinduction.mechanical.gear.PartGearShaft; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.ForgeDirection; import universalelectricity.api.vector.Vector3; @@ -46,7 +47,7 @@ public abstract class TileMechanical extends TileAdvanced implements IMechanical protected float getLoad() { - return 0.9f; + return 0.95f; } @Override @@ -69,7 +70,8 @@ public abstract class TileMechanical extends TileAdvanced implements IMechanical { IMechanical mech = ((IMechanical) tile).getInstance(dir.getOpposite()); - if (mech != null && canConnect(dir, this) && mech.canConnect(dir.getOpposite(), this)) + // Don't connect with shafts + if (mech != null && !(mech instanceof PartGearShaft) && canConnect(dir, this) && mech.canConnect(dir.getOpposite(), this)) { connections[dir.ordinal()] = mech; getNetwork().merge(mech.getNetwork());