From 07e7170e823c34f00232d1497fca01743f019413 Mon Sep 17 00:00:00 2001 From: Robert S Date: Tue, 10 Jun 2014 13:31:18 -0400 Subject: [PATCH] Fixed debug GUI not working for subclasses of TileMechanical --- .../energy/grid/TileMechanical.java | 10 +++++++++ .../mechanical/gear/MechanicalNodeFrame.java | 4 ++-- .../process/purifier/MixerNode.java | 22 +++++++++++++++++++ .../process/purifier/TileMixer.java | 12 +--------- 4 files changed, 35 insertions(+), 13 deletions(-) create mode 100644 mechanical/src/main/scala/resonantinduction/mechanical/process/purifier/MixerNode.java 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;