aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/features/commands
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2024-01-18 16:50:17 +0100
committerGitHub <noreply@github.com>2024-01-18 16:50:17 +0100
commit9827e764ea8e686d8e0a7b1d5b320da7ce85c227 (patch)
tree8070b2e83b9e8bd88362c2bef0fa706802644f5e /src/main/java/at/hannibal2/skyhanni/features/commands
parentff75f3d0da65a06e9bde3afccb898326186c5317 (diff)
downloadskyhanni-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.kt22
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