public int getPositionByName(String name) {
   for (MapleMessengerCharacter messengerchar : members) {
     if (messengerchar.getName().equals(name)) {
       return messengerchar.getPosition();
     }
   }
   return 4;
 }
 public void updateMember(MapleMessengerCharacter member) {
   for (int i = 0; i < members.size(); i++) {
     MapleMessengerCharacter chr = members.get(i);
     if (chr.equals(member)) {
       members.set(i, member);
     }
   }
 }
 public void removeMember(MapleMessengerCharacter member) {
   int position = member.getPosition();
   if (position == 0) {
     pos0 = false;
   } else if (position == 1) {
     pos1 = false;
   } else if (position == 2) {
     pos2 = false;
   }
   members.remove(member);
 }
  public void joinMessenger(
      int messengerid, MapleMessengerCharacter target, String from, int fromchannel)
      throws RemoteException {
    MapleMessenger messenger = WorldRegistryImpl.getInstance().getMessenger(messengerid);
    if (messenger == null) {
      throw new IllegalArgumentException("No messenger with the specified messengerid exists");
    }
    messenger.addMember(target);

    for (int i : WorldRegistryImpl.getInstance().getChannelServer()) {
      ChannelWorldInterface cwi = WorldRegistryImpl.getInstance().getChannel(i);
      try {
        cwi.addMessengerPlayer(messenger, from, fromchannel, target.getPosition());
      } catch (RemoteException e) {
        WorldRegistryImpl.getInstance().deregisterChannelServer(i);
      }
    }
  }
  public void leaveMessenger(int messengerid, MapleMessengerCharacter target)
      throws RemoteException {
    MapleMessenger messenger = WorldRegistryImpl.getInstance().getMessenger(messengerid);
    if (messenger == null) {
      throw new IllegalArgumentException("No messenger with the specified messengerid exists");
    }
    int position = messenger.getPositionByName(target.getName());
    messenger.removeMember(target);

    for (int i : WorldRegistryImpl.getInstance().getChannelServer()) {
      ChannelWorldInterface cwi = WorldRegistryImpl.getInstance().getChannel(i);
      try {
        cwi.removeMessengerPlayer(messenger, position);
      } catch (RemoteException e) {
        WorldRegistryImpl.getInstance().deregisterChannelServer(i);
      }
    }
  }
 public void silentAddMember(MapleMessengerCharacter member, int position) {
   members.add(member);
   member.setPosition(position);
 }
 public void addMember(MapleMessengerCharacter member) {
   members.add(member);
   int position = getLowestPosition();
   member.setPosition(position);
 }
 public MapleMessenger(int id, MapleMessengerCharacter chrfor) {
   this.members.add(chrfor);
   int position = getLowestPosition();
   chrfor.setPosition(position);
   this.id = id;
 }