From fdd9d8140013adea4decf24175bde93cf297f20a Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Tue, 24 May 2022 02:49:36 +0200 Subject: [PATCH] Fix party users not being removed correctly (they left the party but still had their party id set) --- api/src/main/java/com/alttd/chat/objects/Party.java | 4 +++- .../alttd/velocitychat/commands/partysubcommands/Remove.java | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/api/src/main/java/com/alttd/chat/objects/Party.java b/api/src/main/java/com/alttd/chat/objects/Party.java index 7c58b74..a6f1c33 100755 --- a/api/src/main/java/com/alttd/chat/objects/Party.java +++ b/api/src/main/java/com/alttd/chat/objects/Party.java @@ -47,7 +47,9 @@ public class Party { .filter(partyUser -> partyUser.getUuid().equals(uuid)) .findFirst(); if (first.isEmpty()) return; - partyUsers.remove(first.get()); + PartyUser partyUser = first.get(); + partyUsers.remove(partyUser); + chatUser.setPartyId(-1); Queries.removePartyUser(uuid); } diff --git a/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Remove.java b/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Remove.java index b245aa2..287f186 100644 --- a/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Remove.java +++ b/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Remove.java @@ -64,13 +64,14 @@ public class Remove implements SubCommand { return; } } - party.removeUser(ChatUserManager.getChatUser(partyUser.getUuid())); - if (partyUser.getUuid().equals(party.getOwnerUuid())) { source.sendMessage(Utility.parseMiniMessage(Config.CANT_REMOVE_PARTY_OWNER)); return; } + party.removeUser(ChatUserManager.getChatUser(partyUser.getUuid())); + + if (onlinePlayer != null && onlinePlayer.isActive()) { onlinePlayer.sendMessage(Utility.parseMiniMessage(Config.REMOVED_FROM_PARTY, Placeholder.unparsed("party", party.getPartyName())