From 68d3025facd1f590c0cb801f208ced21883b9dc9 Mon Sep 17 00:00:00 2001 From: yueh Date: Sun, 10 Jan 2016 21:01:02 +0100 Subject: [PATCH] Fixes #2099: No neighbor update of Pressure P2P before IAirHandler is validated. --- src/main/java/appeng/parts/p2p/PartP2PPressure.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/appeng/parts/p2p/PartP2PPressure.java b/src/main/java/appeng/parts/p2p/PartP2PPressure.java index b4f8b70d..b6f12b17 100644 --- a/src/main/java/appeng/parts/p2p/PartP2PPressure.java +++ b/src/main/java/appeng/parts/p2p/PartP2PPressure.java @@ -58,6 +58,7 @@ public final class PartP2PPressure extends PartP2PTunnel implem @Nonnull private final IAirHandler handler; private boolean isConnected = false; + private boolean isValid = false; public PartP2PPressure( final ItemStack is ) { @@ -87,14 +88,20 @@ public final class PartP2PPressure extends PartP2PTunnel implem public void onNeighborChanged() { super.onNeighborChanged(); - this.getInternalHandler().onNeighborChange(); + + if( this.isValid ) + { + this.getInternalHandler().onNeighborChange(); + } } @Override public void addToWorld() { super.addToWorld(); + this.getInternalHandler().validateI( this.getTile() ); + this.isValid = true; } @Override @@ -102,6 +109,7 @@ public final class PartP2PPressure extends PartP2PTunnel implem { super.removeFromWorld(); + this.isValid = false; if( this.isOutput() && this.getInput() != null ) { this.getInternalHandler().removeConnection( this.getInput().getInternalHandler() );