@Override public void disconnectAll() { update = true; ArrayList<IInterPoleWire> list = new ArrayList<IInterPoleWire>(); list.addAll(connections); for (IInterPoleWire con : list) { if (con.getWorld() == null) { if (parent == null) continue; con.setWorld(parent.getWorldObj()); } if (con.getStart() != null) con.getStart().onDisconnect(con); if (con.getEnd() != null) con.getEnd().onDisconnect(con); } }
@Override public void iterate() { if (update) { update = false; for (IInterPoleWire c : connections) { c.setWorld(getParent().getWorldObj()); } refreshList(); } if (parent.getWorldObj().isRemote) return; for (IInterPoleWire c : connections) { if (c.getStart() == this) { c.iterate(); } } }