fix(Room): pets CME

This commit is contained in:
David Silva 2020-05-05 13:59:12 +02:00
parent c83f7cd364
commit 31c7ff7b6d

View File

@ -1992,11 +1992,24 @@ public class Room implements Comparable<Room>, ISerialize, Runnable {
* @param excludeUserId Habbo id to keep pets
*/
public void removeAllPets(int excludeUserId) {
ArrayList<Pet> toRemovePets = new ArrayList<>();
ArrayList<Pet> removedPets = new ArrayList<>();
synchronized (this.currentPets) {
for (Pet pet : this.currentPets.valueCollection()) {
try {
if (pet.getUserId() != excludeUserId) {
toRemovePets.add(pet);
}
} catch (NoSuchElementException e) {
Emulator.getLogging().logErrorLine(e);
break;
}
}
}
for (Pet pet : toRemovePets) {
removedPets.add(pet);
pet.removeFromRoom();
@ -2005,15 +2018,9 @@ public class Room implements Comparable<Room>, ISerialize, Runnable {
habbo.getInventory().getPetsComponent().addPet(pet);
habbo.getClient().sendResponse(new AddPetComposer(pet));
}
}
pet.needsUpdate = true;
pet.run();
} catch (NoSuchElementException e) {
Emulator.getLogging().logErrorLine(e);
break;
}
}
}
for (Pet pet : removedPets) {