From c7d4525a9cfd212f62b3f5a407cccf6af0fe7aba Mon Sep 17 00:00:00 2001 From: Calclavia Date: Fri, 31 Jan 2014 01:29:56 +0800 Subject: [PATCH] Fixed #180 - Multimeter glitchy rendering --- .../multimeter/MultimeterNetwork.java | 50 +++++++++--- .../electrical/multimeter/PartMultimeter.java | 79 ++++++++++++------- .../multimeter/RenderMultimeter.java | 4 +- 3 files changed, 88 insertions(+), 45 deletions(-) diff --git a/src/main/java/resonantinduction/electrical/multimeter/MultimeterNetwork.java b/src/main/java/resonantinduction/electrical/multimeter/MultimeterNetwork.java index 16d98368..978ed789 100644 --- a/src/main/java/resonantinduction/electrical/multimeter/MultimeterNetwork.java +++ b/src/main/java/resonantinduction/electrical/multimeter/MultimeterNetwork.java @@ -1,6 +1,7 @@ package resonantinduction.electrical.multimeter; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; import universalelectricity.api.net.IUpdate; @@ -33,6 +34,11 @@ public class MultimeterNetwork extends Network it = this.getConnectors().iterator(); + + while (it.hasNext()) + { + PartMultimeter connector = it.next(); + connector.updateDesc(); + } + + doUpdate = true; + } + @Override protected void reconstructConnector(PartMultimeter node) { diff --git a/src/main/java/resonantinduction/electrical/multimeter/PartMultimeter.java b/src/main/java/resonantinduction/electrical/multimeter/PartMultimeter.java index f6864512..1d2f29b0 100644 --- a/src/main/java/resonantinduction/electrical/multimeter/PartMultimeter.java +++ b/src/main/java/resonantinduction/electrical/multimeter/PartMultimeter.java @@ -113,10 +113,14 @@ public class PartMultimeter extends JCuboidPart implements IConnector redstoneTriggerLimit; + break; + case GREATER_THAN_EQUAL: + outputRedstone = detectedEnergy >= redstoneTriggerLimit; + break; + case LESS_THAN: + outputRedstone = detectedEnergy < redstoneTriggerLimit; + break; + case LESS_THAN_EQUAL: + outputRedstone = detectedEnergy <= redstoneTriggerLimit; + break; + } + + getNetwork().updateGraph(detectedEnergy, 0); + if (ticks % 10 == 0) { - long detectedEnergy = doGetDetectedEnergy(); - - boolean outputRedstone = false; - - switch (detectMode) - { - default: - break; - case EQUAL: - outputRedstone = detectedEnergy == redstoneTriggerLimit; - break; - case GREATER_THAN: - outputRedstone = detectedEnergy > redstoneTriggerLimit; - break; - case GREATER_THAN_EQUAL: - outputRedstone = detectedEnergy >= redstoneTriggerLimit; - break; - case LESS_THAN: - outputRedstone = detectedEnergy < redstoneTriggerLimit; - break; - case LESS_THAN_EQUAL: - outputRedstone = detectedEnergy <= redstoneTriggerLimit; - break; - } - - getNetwork().updateGraph(detectedEnergy, 0); - if (outputRedstone != redstoneOn) { redstoneOn = outputRedstone; @@ -229,9 +233,9 @@ public class PartMultimeter extends JCuboidPart implements IConnector