@Override public boolean onBlockActivated( EntityPlayer player, RaytraceResult res, List<RaytraceResult> all) { if (ToolUtil.isToolEquipped(player)) { if (!getBundle().getEntity().getWorldObj().isRemote) { if (res != null && res.component != null) { ForgeDirection connDir = res.component.dir; ForgeDirection faceHit = ForgeDirection.getOrientation(res.movingObjectPosition.sideHit); if (connDir == ForgeDirection.UNKNOWN || connDir == faceHit) { if (getConnectionMode(faceHit) == ConnectionMode.DISABLED) { setConnectionMode(faceHit, ConnectionMode.IN_OUT); return true; } return ConduitUtil.joinConduits(this, faceHit); } else if (externalConnections.contains(connDir)) { setConnectionMode(connDir, getNextConnectionMode(connDir)); return true; } else if (containsConduitConnection(connDir)) { ConduitUtil.disconectConduits(this, connDir); return true; } } } } return false; }