diff options
author | Linnea Gräf <nea@nea.moe> | 2024-01-18 16:50:17 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-18 16:50:17 +0100 |
commit | 9827e764ea8e686d8e0a7b1d5b320da7ce85c227 (patch) | |
tree | 8070b2e83b9e8bd88362c2bef0fa706802644f5e /src/main/java/at/hannibal2/skyhanni/features/commands | |
parent | ff75f3d0da65a06e9bde3afccb898326186c5317 (diff) | |
download | skyhanni-9827e764ea8e686d8e0a7b1d5b320da7ce85c227.tar.gz skyhanni-9827e764ea8e686d8e0a7b1d5b320da7ce85c227.tar.bz2 skyhanni-9827e764ea8e686d8e0a7b1d5b320da7ce85c227.zip |
feat: Party kick with reason (#874)
Party kick with reason #874
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features/commands')
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/features/commands/PartyCommands.kt | 22 |
1 files changed, 22 insertions, 0 deletions
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<String>? { if (command == "pk" || command == "pt" || command == "pp" && config.shortCommands) { return PartyAPI.partyMembers |