From 54aa4f2ee228e727240542075a0ac08b14cf4651 Mon Sep 17 00:00:00 2001 From: Brian Ricketts Date: Sat, 29 Dec 2012 22:13:43 -0600 Subject: [PATCH] Manipulator mode fix - conflict with inversion --- .../common/machine/BlockManipulator.java | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/minecraft/assemblyline/common/machine/BlockManipulator.java b/src/minecraft/assemblyline/common/machine/BlockManipulator.java index 27170cba..b13003b0 100644 --- a/src/minecraft/assemblyline/common/machine/BlockManipulator.java +++ b/src/minecraft/assemblyline/common/machine/BlockManipulator.java @@ -51,8 +51,27 @@ public class BlockManipulator extends BlockImprintable if (tileEntity instanceof TileEntityManipulator) { - ((TileEntityManipulator) tileEntity).toggleOutput(); - return true; + TileEntityManipulator manip = (TileEntityManipulator) tileEntity; + boolean manipMode = manip.isOutput(); + boolean inverted = manip.isInverted(); + if (manipMode && !inverted) + { + manip.toggleInversion(); + } + else if (manipMode && inverted) + { + manip.toggleOutput(); + manip.toggleInversion(); + } + else if (!manipMode && !inverted) + { + manip.toggleInversion(); + } + else + { + manip.toggleOutput(); + manip.toggleInversion(); + } } return false;