From 7c94a7af09920bbcea4d8eb35c47d748cc0d56ea Mon Sep 17 00:00:00 2001 From: Hikari_Nova <3044344887@qq.com> Date: Wed, 6 Mar 2024 18:51:42 +0800 Subject: [PATCH] - Try to fix #47. --- .../common/parts/implementations/PartBeamFormer.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/co/neeve/nae2/common/parts/implementations/PartBeamFormer.java b/src/main/java/co/neeve/nae2/common/parts/implementations/PartBeamFormer.java index d8b3858..e3ceeb6 100644 --- a/src/main/java/co/neeve/nae2/common/parts/implementations/PartBeamFormer.java +++ b/src/main/java/co/neeve/nae2/common/parts/implementations/PartBeamFormer.java @@ -2,6 +2,7 @@ import appeng.api.AEApi; import appeng.api.exceptions.FailedConnectionException; +import appeng.api.exceptions.SecurityConnectionException; import appeng.api.networking.GridFlags; import appeng.api.networking.IGridConnection; import appeng.api.networking.IGridNode; @@ -18,9 +19,12 @@ import appeng.api.util.AEColor; import appeng.api.util.AEPartLocation; import appeng.core.AELog; +import appeng.hooks.TickHandler; import appeng.items.parts.PartModels; import appeng.me.GridAccessException; +import appeng.me.GridNode; import appeng.parts.PartModel; +import appeng.util.IWorldCallable; import appeng.util.Platform; import co.neeve.nae2.Tags; import co.neeve.nae2.client.rendering.helpers.BeamFormerRenderHelper; @@ -390,7 +394,13 @@ public TickRateModulation tickingRequest(@NotNull IGridNode node, int ticksSince try { this.connect(potentialFormer, blockSet); return TickRateModulation.SLEEP; - + } catch (final SecurityConnectionException e) { + // See https://github.com/AE2-UEL/NAE2/issues/47. + TickHandler.INSTANCE.addCallable(node.getWorld(), _world -> { + node.getMachine().securityBreak(); + return null; + }); + return TickRateModulation.SLEEP; } catch (final FailedConnectionException | NullPointerException e) { // We tried. We found the beam former, but couldn't establish the connection. // If the former isn't ready yet, wait until it's ready, and it will try connecting