From cdb1a4a41d12c81fa5536ccefe33e15d198753ca Mon Sep 17 00:00:00 2001 From: ChomeNS <95471003+ChomeNS@users.noreply.github.com> Date: Sat, 22 Jul 2023 19:36:27 +0700 Subject: [PATCH] remove from group --- .../chomens_bot/data/voiceChat/ClientGroup.java | 11 +++++++++++ .../chayapak/chomens_bot/plugins/VoiceChatPlugin.java | 8 ++++++++ 2 files changed, 19 insertions(+) diff --git a/src/main/java/land/chipmunk/chayapak/chomens_bot/data/voiceChat/ClientGroup.java b/src/main/java/land/chipmunk/chayapak/chomens_bot/data/voiceChat/ClientGroup.java index 78f3ed9..4b681a5 100644 --- a/src/main/java/land/chipmunk/chayapak/chomens_bot/data/voiceChat/ClientGroup.java +++ b/src/main/java/land/chipmunk/chayapak/chomens_bot/data/voiceChat/ClientGroup.java @@ -2,9 +2,11 @@ package land.chipmunk.chayapak.chomens_bot.data.voiceChat; import land.chipmunk.chayapak.chomens_bot.util.FriendlyByteBuf; +import java.util.Arrays; import java.util.UUID; public record ClientGroup(UUID id, String name, boolean hasPassword, boolean persistent, GroupType type) { + public static ClientGroup fromBytes(FriendlyByteBuf buf) { return new ClientGroup( buf.readUUID(), @@ -14,4 +16,13 @@ public record ClientGroup(UUID id, String name, boolean hasPassword, boolean per GroupType.values()[buf.readShort()] ); } + + public void toBytes(FriendlyByteBuf buf) { + buf.writeUUID(id); + buf.writeUtf(name, 512); + buf.writeBoolean(hasPassword); + buf.writeBoolean(persistent); + buf.writeShort(Arrays.stream(GroupType.values()).toList().indexOf(type)); + } + } diff --git a/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/VoiceChatPlugin.java b/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/VoiceChatPlugin.java index 3281df4..09fdd1e 100644 --- a/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/VoiceChatPlugin.java +++ b/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/VoiceChatPlugin.java @@ -20,6 +20,7 @@ import land.chipmunk.chayapak.chomens_bot.voiceChat.packets.*; import java.net.*; import java.util.ArrayList; import java.util.List; +import java.util.UUID; // ALMOST ALL of these codes are from the simple voice chat mod itself including the other voicechat classes // mic packet exists but is never sent because i am too lazy to implement the player + evilbot already has a voicechat music player @@ -117,6 +118,13 @@ public class VoiceChatPlugin extends Bot.Listener { final ClientGroup group = ClientGroup.fromBytes(buf); groups.add(group); + } else if (_packet.getChannel().equals("voicechat:remove_group")) { + final byte[] bytes = _packet.getData(); + final FriendlyByteBuf buf = new FriendlyByteBuf(Unpooled.wrappedBuffer(bytes)); + + final UUID id = buf.readUUID(); + + groups.removeIf((group) -> group.id().equals(id)); } }