From a4ac7ccb81407f94db448c8b72e8bc895aba0675 Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Thu, 1 Sep 2016 18:08:15 +0200 Subject: [PATCH] Don't break the API! --- .../actuallyadditions/api/laser/ConnectionPair.java | 4 +++- .../api/laser/ILaserRelayConnectionHandler.java | 6 ++++++ .../actuallyadditions/mod/event/CommonEvents.java | 4 +++- .../mod/misc/LaserRelayConnectionHandler.java | 10 ++++++++++ 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/ellpeck/actuallyadditions/api/laser/ConnectionPair.java b/src/main/java/de/ellpeck/actuallyadditions/api/laser/ConnectionPair.java index cefd2021a..c8a5da963 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/api/laser/ConnectionPair.java +++ b/src/main/java/de/ellpeck/actuallyadditions/api/laser/ConnectionPair.java @@ -78,7 +78,9 @@ public class ConnectionPair{ compound.setInteger("y"+i, relay.getY()); compound.setInteger("z"+i, relay.getZ()); } - compound.setString("Type", this.type.name()); + if(this.type != null){ + compound.setString("Type", this.type.name()); + } compound.setBoolean("SuppressRender", this.suppressConnectionRender); return compound; } diff --git a/src/main/java/de/ellpeck/actuallyadditions/api/laser/ILaserRelayConnectionHandler.java b/src/main/java/de/ellpeck/actuallyadditions/api/laser/ILaserRelayConnectionHandler.java index 5654f6efb..9b71aad00 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/api/laser/ILaserRelayConnectionHandler.java +++ b/src/main/java/de/ellpeck/actuallyadditions/api/laser/ILaserRelayConnectionHandler.java @@ -30,6 +30,12 @@ public interface ILaserRelayConnectionHandler{ Network getNetworkFor(BlockPos relay, World world); + @Deprecated + boolean addConnection(BlockPos firstRelay, BlockPos secondRelay, World world); + + @Deprecated + boolean addConnection(BlockPos firstRelay, BlockPos secondRelay, World world, boolean suppressConnectionRender); + boolean addConnection(BlockPos firstRelay, BlockPos secondRelay, LaserType type, World world); boolean addConnection(BlockPos firstRelay, BlockPos secondRelay, LaserType type, World world, boolean suppressConnectionRender); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/event/CommonEvents.java b/src/main/java/de/ellpeck/actuallyadditions/mod/event/CommonEvents.java index 9cb6922af..0e2d186bc 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/event/CommonEvents.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/event/CommonEvents.java @@ -164,7 +164,9 @@ public class CommonEvents{ if(!fixed){ for(int i = 0; i < pair.positions.length; i++){ - ActuallyAdditionsAPI.connectionHandler.removeRelayFromNetwork(pair.positions[i], event.getWorld()); + if(ActuallyAdditionsAPI.connectionHandler.getNetworkFor(pair.positions[i], event.getWorld()) != null){ + ActuallyAdditionsAPI.connectionHandler.removeRelayFromNetwork(pair.positions[i], event.getWorld()); + } } ModUtil.LOGGER.error("Had to remove a Laser Relay connection between "+pair.positions[0]+" and "+pair.positions[1]+" because it couldn't be adapted to the new system!"); } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/misc/LaserRelayConnectionHandler.java b/src/main/java/de/ellpeck/actuallyadditions/mod/misc/LaserRelayConnectionHandler.java index 9915dd239..4b89f6b3f 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/misc/LaserRelayConnectionHandler.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/misc/LaserRelayConnectionHandler.java @@ -91,6 +91,16 @@ public final class LaserRelayConnectionHandler implements ILaserRelayConnectionH return null; } + @Override + public boolean addConnection(BlockPos firstRelay, BlockPos secondRelay, World world){ + return this.addConnection(firstRelay, secondRelay, null, world); + } + + @Override + public boolean addConnection(BlockPos firstRelay, BlockPos secondRelay, World world, boolean suppressConnectionRender){ + return this.addConnection(firstRelay, secondRelay, null, world, suppressConnectionRender); + } + @Override public boolean addConnection(BlockPos firstRelay, BlockPos secondRelay, LaserType type, World world){ return this.addConnection(firstRelay, secondRelay, type, world, false);