Fixed #245 - Multimeter rendering twice
This commit is contained in:
parent
5db13056dd
commit
aa86e9bf34
3 changed files with 24 additions and 27 deletions
|
@ -54,7 +54,7 @@ public class MultimeterNetwork extends Network<MultimeterNetwork, PartMultimeter
|
||||||
* If the screen is not a perfect rectangle, don't render.
|
* If the screen is not a perfect rectangle, don't render.
|
||||||
*/
|
*/
|
||||||
public boolean isEnabled = true;
|
public boolean isEnabled = true;
|
||||||
public PartMultimeter primaryRenderer = null;
|
public PartMultimeter primaryMultimeter = null;
|
||||||
|
|
||||||
public MultimeterNetwork()
|
public MultimeterNetwork()
|
||||||
{
|
{
|
||||||
|
@ -65,6 +65,11 @@ public class MultimeterNetwork extends Network<MultimeterNetwork, PartMultimeter
|
||||||
graphs.add(fluidGraph);
|
graphs.add(fluidGraph);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isPrimary(PartMultimeter check)
|
||||||
|
{
|
||||||
|
return primaryMultimeter == check;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addConnector(PartMultimeter connector)
|
public void addConnector(PartMultimeter connector)
|
||||||
{
|
{
|
||||||
|
@ -111,6 +116,7 @@ public class MultimeterNetwork extends Network<MultimeterNetwork, PartMultimeter
|
||||||
{
|
{
|
||||||
if (getConnectors().size() > 0)
|
if (getConnectors().size() > 0)
|
||||||
{
|
{
|
||||||
|
primaryMultimeter = null;
|
||||||
upperBound = null;
|
upperBound = null;
|
||||||
lowerBound = null;
|
lowerBound = null;
|
||||||
super.reconstruct();
|
super.reconstruct();
|
||||||
|
@ -146,6 +152,9 @@ public class MultimeterNetwork extends Network<MultimeterNetwork, PartMultimeter
|
||||||
{
|
{
|
||||||
node.setNetwork(this);
|
node.setNetwork(this);
|
||||||
|
|
||||||
|
if (primaryMultimeter == null)
|
||||||
|
primaryMultimeter = node;
|
||||||
|
|
||||||
if (upperBound == null)
|
if (upperBound == null)
|
||||||
{
|
{
|
||||||
upperBound = node.getPosition().translate(1);
|
upperBound = node.getPosition().translate(1);
|
||||||
|
|
|
@ -83,12 +83,15 @@ public class PartMultimeter extends JCuboidPart implements IConnector<Multimeter
|
||||||
private DetectMode detectMode = DetectMode.NONE;
|
private DetectMode detectMode = DetectMode.NONE;
|
||||||
private long redstoneTriggerLimit;
|
private long redstoneTriggerLimit;
|
||||||
|
|
||||||
|
// TODO: Move warn settings over.
|
||||||
public boolean redstoneOn;
|
public boolean redstoneOn;
|
||||||
private byte side;
|
private byte side;
|
||||||
private int ticks;
|
private int ticks;
|
||||||
|
|
||||||
private MultimeterNetwork network;
|
private MultimeterNetwork network;
|
||||||
|
|
||||||
|
boolean isPrimary;
|
||||||
|
|
||||||
public void preparePlacement(int side, int itemDamage)
|
public void preparePlacement(int side, int itemDamage)
|
||||||
{
|
{
|
||||||
this.side = (byte) (side);
|
this.side = (byte) (side);
|
||||||
|
@ -122,10 +125,6 @@ public class PartMultimeter extends JCuboidPart implements IConnector<Multimeter
|
||||||
|
|
||||||
getNetwork().reconstruct();
|
getNetwork().reconstruct();
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
getNetwork().primaryRenderer = null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -342,7 +341,11 @@ public class PartMultimeter extends JCuboidPart implements IConnector<Multimeter
|
||||||
public void writeGraph(MCDataOutput packet)
|
public void writeGraph(MCDataOutput packet)
|
||||||
{
|
{
|
||||||
packet.writeByte(2);
|
packet.writeByte(2);
|
||||||
packet.writeNBTTagCompound(getNetwork().save());
|
isPrimary = getNetwork().isPrimary(this);
|
||||||
|
packet.writeBoolean(isPrimary);
|
||||||
|
|
||||||
|
if (isPrimary)
|
||||||
|
packet.writeNBTTagCompound(getNetwork().save());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -368,7 +371,10 @@ public class PartMultimeter extends JCuboidPart implements IConnector<Multimeter
|
||||||
}
|
}
|
||||||
else if (packetID == 2)
|
else if (packetID == 2)
|
||||||
{
|
{
|
||||||
getNetwork().load(packet.readNBTTagCompound());
|
isPrimary = packet.readBoolean();
|
||||||
|
|
||||||
|
if (isPrimary)
|
||||||
|
getNetwork().load(packet.readNBTTagCompound());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -607,28 +613,11 @@ public class PartMultimeter extends JCuboidPart implements IConnector<Multimeter
|
||||||
return new universalelectricity.api.vector.Vector3(x(), y(), z());
|
return new universalelectricity.api.vector.Vector3(x(), y(), z());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Only one multimeter renders the text.
|
|
||||||
*/
|
|
||||||
public boolean isPrimaryRendering()
|
|
||||||
{
|
|
||||||
if (getNetwork().primaryRenderer == null || !getNetwork().isValidConnector(getNetwork().primaryRenderer))
|
|
||||||
{
|
|
||||||
for (PartMultimeter m : getNetwork().getConnectors())
|
|
||||||
{
|
|
||||||
getNetwork().primaryRenderer = m;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return getNetwork().primaryRenderer == this;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public Cuboid6 getRenderBounds()
|
public Cuboid6 getRenderBounds()
|
||||||
{
|
{
|
||||||
if (isPrimaryRendering())
|
if (isPrimary)
|
||||||
return Cuboid6.full.copy().expand(Double.POSITIVE_INFINITY);
|
return Cuboid6.full.copy().expand(Double.POSITIVE_INFINITY);
|
||||||
|
|
||||||
return Cuboid6.full;
|
return Cuboid6.full;
|
||||||
|
|
|
@ -145,7 +145,7 @@ public class RenderMultimeter implements ISimpleItemRenderer
|
||||||
* Only one block renders this text.
|
* Only one block renders this text.
|
||||||
* Render all the multimeter text
|
* Render all the multimeter text
|
||||||
*/
|
*/
|
||||||
if (part.getNetwork().isEnabled && part.isPrimaryRendering())
|
if (part.getNetwork().isEnabled && part.isPrimary)
|
||||||
{
|
{
|
||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5);
|
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5);
|
||||||
|
@ -213,5 +213,4 @@ public class RenderMultimeter implements ISimpleItemRenderer
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in a new issue