From 9827e764ea8e686d8e0a7b1d5b320da7ce85c227 Mon Sep 17 00:00:00 2001 From: Linnea Gräf Date: Thu, 18 Jan 2024 16:50:17 +0100 Subject: feat: Party kick with reason (#874) Party kick with reason #874 --- .../skyhanni/features/commands/PartyCommands.kt | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/main/java/at/hannibal2/skyhanni/features') diff --git a/src/main/java/at/hannibal2/skyhanni/features/commands/PartyCommands.kt b/src/main/java/at/hannibal2/skyhanni/features/commands/PartyCommands.kt index fea58deef..79df780db 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/commands/PartyCommands.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/commands/PartyCommands.kt @@ -4,6 +4,7 @@ import at.hannibal2.skyhanni.SkyHanniMod import at.hannibal2.skyhanni.config.ConfigUpdaterMigrator import at.hannibal2.skyhanni.data.FriendAPI import at.hannibal2.skyhanni.data.PartyAPI +import at.hannibal2.skyhanni.events.MessageSendToServerEvent import at.hannibal2.skyhanni.utils.LorenzUtils import net.minecraftforge.fml.common.eventhandler.SubscribeEvent @@ -26,6 +27,8 @@ object PartyCommands { if (!config.shortCommands) return if (PartyAPI.partyMembers.isEmpty()) return if (args.isEmpty()) return + if (args.size > 1 && config.partyKickReason) + LorenzUtils.sendCommandToServer("pc Kicking ${args[0]}: ${args.drop(1).joinToString(" ").trim()}") LorenzUtils.sendCommandToServer("party kick ${args[0]}") } @@ -46,6 +49,25 @@ object PartyCommands { LorenzUtils.sendCommandToServer("party promote ${args[0]}") } + @SubscribeEvent + fun onSendCommand(event: MessageSendToServerEvent) { + if (!config.partyKickReason) { + return + } + if (!event.message.startsWith("/party kick ", ignoreCase = true) + && !event.message.startsWith("/p kick ", ignoreCase = true)) { + return + } + val args = event.message.split(" ") + if (args.size < 3) return + val kickedPlayer = args[2] + val kickReason = args.drop(3).joinToString(" ").trim() + if (kickReason.isEmpty()) return + event.cancel() + LorenzUtils.sendCommandToServer("pc Kicking $kickedPlayer: $kickReason") + LorenzUtils.sendCommandToServer("p kick $kickedPlayer") + } + fun customTabComplete(command: String): List? { if (command == "pk" || command == "pt" || command == "pp" && config.shortCommands) { return PartyAPI.partyMembers -- cgit