diff --git a/mechanical/src/main/scala/resonantinduction/mechanical/energy/grid/TileMechanical.java b/mechanical/src/main/scala/resonantinduction/mechanical/energy/grid/TileMechanical.java index 1e4755710..b513d5199 100644 --- a/mechanical/src/main/scala/resonantinduction/mechanical/energy/grid/TileMechanical.java +++ b/mechanical/src/main/scala/resonantinduction/mechanical/energy/grid/TileMechanical.java @@ -48,6 +48,7 @@ public abstract class TileMechanical extends TileBase implements INodeProvider, public TileMechanical(Material material) { super(material); + this.mechanicalNode = new MechanicalNode(this); } @Override @@ -69,6 +70,15 @@ public abstract class TileMechanical extends TileBase implements INodeProvider, { super.updateEntity(); mechanicalNode.update(); + if(frame != null) + { + frame.update(); + if(!frame.isVisible()) + { + frame.dispose(); + frame = null; + } + } if (!this.getWorldObj().isRemote) { if (ticks % 3 == 0 && (mechanicalNode.markTorqueUpdate || mechanicalNode.markRotationUpdate)) diff --git a/mechanical/src/main/scala/resonantinduction/mechanical/gear/MechanicalNodeFrame.java b/mechanical/src/main/scala/resonantinduction/mechanical/gear/MechanicalNodeFrame.java index 2225d8f2c..7ec921bd2 100644 --- a/mechanical/src/main/scala/resonantinduction/mechanical/gear/MechanicalNodeFrame.java +++ b/mechanical/src/main/scala/resonantinduction/mechanical/gear/MechanicalNodeFrame.java @@ -29,8 +29,8 @@ public class MechanicalNodeFrame extends Frame implements ActionListener Label[] connections = new Label[10]; long tick = 0; - PartMechanical partMechanical = null; - TileMechanical tileMechanical = null; + private PartMechanical partMechanical = null; + private TileMechanical tileMechanical = null; public MechanicalNodeFrame(TileMechanical tile) { diff --git a/mechanical/src/main/scala/resonantinduction/mechanical/process/purifier/MixerNode.java b/mechanical/src/main/scala/resonantinduction/mechanical/process/purifier/MixerNode.java new file mode 100644 index 000000000..743a5256c --- /dev/null +++ b/mechanical/src/main/scala/resonantinduction/mechanical/process/purifier/MixerNode.java @@ -0,0 +1,22 @@ +package resonantinduction.mechanical.process.purifier; + +import net.minecraftforge.common.ForgeDirection; +import resonant.api.grid.INodeProvider; +import resonantinduction.core.interfaces.IMechanicalNode; +import resonantinduction.mechanical.energy.grid.MechanicalNode; + +public class MixerNode extends MechanicalNode +{ + + public MixerNode(INodeProvider parent) + { + super(parent); + } + + @Override + public boolean inverseRotation(ForgeDirection dir, IMechanicalNode with) + { + return dir == ForgeDirection.DOWN; + } + +} diff --git a/mechanical/src/main/scala/resonantinduction/mechanical/process/purifier/TileMixer.java b/mechanical/src/main/scala/resonantinduction/mechanical/process/purifier/TileMixer.java index 7fd6bc0f8..ae0458ce5 100644 --- a/mechanical/src/main/scala/resonantinduction/mechanical/process/purifier/TileMixer.java +++ b/mechanical/src/main/scala/resonantinduction/mechanical/process/purifier/TileMixer.java @@ -41,17 +41,7 @@ public class TileMixer extends TileMechanical implements IInventory public TileMixer() { super(Material.iron); - - mechanicalNode = new MechanicalNode(this) - { - @Override - public boolean inverseRotation(ForgeDirection dir, IMechanicalNode with) - { - return dir == ForgeDirection.DOWN; - } - - }.setConnection(Byte.parseByte("000011", 2)); - + mechanicalNode = new MixerNode(this).setConnection(Byte.parseByte("000011", 2)); isOpaqueCube = false; normalRender = false; customItemRender = true;