From 9acebbba7636dbfb72f9c30cfafebccfe5bd4305 Mon Sep 17 00:00:00 2001 From: Calclavia Date: Fri, 31 Jan 2014 00:21:06 +0800 Subject: [PATCH] Fixed some shaft directions --- .../java/resonantinduction/mechanical/gear/PartGear.java | 2 +- .../resonantinduction/mechanical/gear/PartGearShaft.java | 8 +++++++- .../mechanical/network/MechanicalNetwork.java | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/resonantinduction/mechanical/gear/PartGear.java b/src/main/java/resonantinduction/mechanical/gear/PartGear.java index e4d31fb6..88acc3b8 100644 --- a/src/main/java/resonantinduction/mechanical/gear/PartGear.java +++ b/src/main/java/resonantinduction/mechanical/gear/PartGear.java @@ -479,6 +479,6 @@ public class PartGear extends PartMechanical implements IMechanical, IMultiBlock @Override public boolean inverseRotation(ForgeDirection dir, IMechanical with) { - return !(with instanceof PartGearShaft); + return true; } } \ No newline at end of file diff --git a/src/main/java/resonantinduction/mechanical/gear/PartGearShaft.java b/src/main/java/resonantinduction/mechanical/gear/PartGearShaft.java index d6f49d0a..0c839c3d 100644 --- a/src/main/java/resonantinduction/mechanical/gear/PartGearShaft.java +++ b/src/main/java/resonantinduction/mechanical/gear/PartGearShaft.java @@ -43,6 +43,7 @@ public class PartGearShaft extends PartMechanical public void preparePlacement(int side, int itemDamage) { ForgeDirection dir = ForgeDirection.getOrientation((byte) (side ^ 1)); + // Unwind rotation. We can only have "3" axis. this.placementSide = ForgeDirection.getOrientation(!(dir.ordinal() % 2 == 0) ? dir.ordinal() - 1 : dir.ordinal()); } @@ -189,7 +190,12 @@ public class PartGearShaft extends PartMechanical @Override public boolean inverseRotation(ForgeDirection dir, IMechanical with) { - return dir == placementSide && !(with instanceof PartGearShaft); + if (placementSide.offsetY != 0 || placementSide.offsetZ != 0) + { + return dir == placementSide.getOpposite(); + } + + return dir == placementSide; } } \ No newline at end of file diff --git a/src/main/java/resonantinduction/mechanical/network/MechanicalNetwork.java b/src/main/java/resonantinduction/mechanical/network/MechanicalNetwork.java index 93003cfe..ebaa1414 100644 --- a/src/main/java/resonantinduction/mechanical/network/MechanicalNetwork.java +++ b/src/main/java/resonantinduction/mechanical/network/MechanicalNetwork.java @@ -6,8 +6,8 @@ import java.util.Iterator; import java.util.LinkedHashMap; import java.util.LinkedHashSet; -import resonantinduction.mechanical.process.TileGrinderWheel; import net.minecraftforge.common.ForgeDirection; +import resonantinduction.mechanical.gear.PartGearShaft; import universalelectricity.api.net.IUpdate; import universalelectricity.core.net.Network; import universalelectricity.core.net.NetworkTickHandler;