public void removePart(BPPart part) {

    parts.remove(part);
    partIds.remove(part);
    shouldReRender = true;
    for (BPPart p : parts) if (p != part) p.onPartChanged();
    sendUpdatePacket();
  }
  public void notifyPartChange(BPPart part) {

    for (BPPart p : parts) {
      if (p == part) continue;
      p.onPartChanged();
    }
    shouldReRender = true;
  }
  private void addPart(BPPart part, UUID id) {

    parts.add(part);
    partIds.put(part, id);
    shouldReRender = true;
    for (BPPart p : parts) if (p != part) p.onPartChanged();
    notifyNeighbors();
    sendUpdatePacket();
  }