diff --git a/src/main/java/com/hbm/items/tool/ItemWiring.java b/src/main/java/com/hbm/items/tool/ItemWiring.java index fc694ee82..cd6b5d787 100644 --- a/src/main/java/com/hbm/items/tool/ItemWiring.java +++ b/src/main/java/com/hbm/items/tool/ItemWiring.java @@ -60,17 +60,24 @@ public class ItemWiring extends Item { TileEntityPylonBase first = (TileEntityPylonBase) world.getTileEntity(x1, y1, z1); TileEntityPylonBase second = ((TileEntityPylonBase) te); - - if(TileEntityPylonBase.canConnect(first, second)) { - - first.addConnection(x, y, z); - second.addConnection(x1, y1, z1); - player.addChatMessage(new ChatComponentText("Wire end")); - - } else { - player.addChatMessage(new ChatComponentText("Wire error")); + + switch (TileEntityPylonBase.canConnect(first, second)) { + case 0: + first.addConnection(x, y, z); + second.addConnection(x1, y1, z1); + player.addChatMessage(new ChatComponentText("Wire end")); + break; + case 1: + player.addChatMessage(new ChatComponentText("Wire error - Pylons are not the same type")); + break; + case 2: + player.addChatMessage(new ChatComponentText("Wire error - Cannot connect to the same pylon")); + break; + case 3: + player.addChatMessage(new ChatComponentText("Wire error - Pylon is too far away")); + break; } - + stack.stackTagCompound = null; } else { diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java b/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java index c55fe51d7..09e335094 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java @@ -19,13 +19,13 @@ public abstract class TileEntityPylonBase extends TileEntityCableBaseNT { public List connected = new ArrayList(); - public static boolean canConnect(TileEntityPylonBase first, TileEntityPylonBase second) { + public static int canConnect(TileEntityPylonBase first, TileEntityPylonBase second) { if(first.getConnectionType() != second.getConnectionType()) - return false; + return 1; if(first == second) - return false; + return 2; double len = Math.min(first.getMaxWireLength(), second.getMaxWireLength()); @@ -38,7 +38,7 @@ public abstract class TileEntityPylonBase extends TileEntityCableBaseNT { (secondPos.zCoord) - (firstPos.zCoord) ); - return len >= delta.lengthVector(); + return len >= delta.lengthVector() ? 0 : 3; } public void addConnection(int x, int y, int z) {