Skip to content

Commit cd27c4d

Browse files
committed
Fix player kick, support spigot
1 parent c31fd9b commit cd27c4d

File tree

6 files changed

+15
-11
lines changed

6 files changed

+15
-11
lines changed

bukkit/src/main/kotlin/io/github/rothes/esu/bukkit/user/ConsoleUser.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ object ConsoleUser: BukkitUser(), LogUser {
3232
colorSchemeUnsafe = userData.colorScheme
3333
}
3434

35-
override fun <T> kick(locales: MultiLangConfiguration<T>, block: T.() -> String?, vararg params: TagResolver) {
35+
override fun <T> kick(lang: MultiLangConfiguration<T>, block: T.() -> String?, vararg params: TagResolver) {
3636
throw UnsupportedOperationException("Cannot kick a ConsoleUser")
3737
}
3838

bukkit/src/main/kotlin/io/github/rothes/esu/bukkit/user/GenericUser.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class GenericUser(override val commandSender: CommandSender): BukkitUser() {
2222

2323
override val isOnline: Boolean = false
2424

25-
override fun <T> kick(locales: MultiLangConfiguration<T>, block: T.() -> String?, vararg params: TagResolver) {
25+
override fun <T> kick(lang: MultiLangConfiguration<T>, block: T.() -> String?, vararg params: TagResolver) {
2626
throw UnsupportedOperationException("Cannot kick a GenericUser")
2727
}
2828

bukkit/src/main/kotlin/io/github/rothes/esu/bukkit/user/PlayerUser.kt

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package io.github.rothes.esu.bukkit.user
22

33
import io.github.rothes.esu.bukkit.audience
4+
import io.github.rothes.esu.bukkit.util.ServerCompatibility
45
import io.github.rothes.esu.bukkit.util.version.adapter.PlayerAdapter.Companion.connected
5-
import io.github.rothes.esu.core.colorscheme.ColorSchemes
66
import io.github.rothes.esu.core.configuration.MultiLangConfiguration
77
import io.github.rothes.esu.core.storage.StorageManager
88
import io.github.rothes.esu.core.util.AdventureConverter.server
9+
import io.github.rothes.esu.core.util.ComponentUtils.legacy
910
import io.github.rothes.esu.lib.adventure.audience.Audience
10-
import io.github.rothes.esu.lib.adventure.text.minimessage.MiniMessage
1111
import io.github.rothes.esu.lib.adventure.text.minimessage.tag.resolver.TagResolver
1212
import org.bukkit.Bukkit
1313
import org.bukkit.command.CommandSender
@@ -63,9 +63,13 @@ class PlayerUser(override val uuid: UUID, initPlayer: Player? = null): BukkitUse
6363
colorSchemeUnsafe = userData.colorScheme
6464
}
6565

66-
override fun <T> kick(locales: MultiLangConfiguration<T>, block: T.() -> String?, vararg params: TagResolver) {
67-
player.kick(MiniMessage.miniMessage().deserialize(localed(locales, block), *params,
68-
ColorSchemes.schemes.get(colorScheme) { tagResolver }!!).server)
66+
override fun <T> kick(lang: MultiLangConfiguration<T>, block: T.() -> String?, vararg params: TagResolver) {
67+
val msg = buildMiniMessage(lang, block, params = params)
68+
if (ServerCompatibility.isPaper)
69+
player.kick(msg.server)
70+
else
71+
@Suppress("DEPRECATION") // Spigot
72+
player.kickPlayer(msg.legacy)
6973
}
7074

7175
override fun equals(other: Any?): Boolean {

core/src/main/kotlin/io/github/rothes/esu/core/user/User.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ interface User {
142142
audience.sendMessage(message)
143143
}
144144

145-
fun <T> kick(locales: MultiLangConfiguration<T>, block: T.() -> String?, vararg params: TagResolver)
145+
fun <T> kick(lang: MultiLangConfiguration<T>, block: T.() -> String?, vararg params: TagResolver)
146146

147147
fun actionBar(message: Component) {
148148
audience.sendActionBar(message)

velocity/src/main/kotlin/io/github/rothes/esu/velocity/user/ConsoleUser.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ object ConsoleUser: VelocityUser(), LogUser {
3232
colorSchemeUnsafe = userData.colorScheme
3333
}
3434

35-
override fun <T> kick(locales: MultiLangConfiguration<T>, block: T.() -> String?, vararg params: TagResolver) {
35+
override fun <T> kick(lang: MultiLangConfiguration<T>, block: T.() -> String?, vararg params: TagResolver) {
3636
throw UnsupportedOperationException("Cannot kick a ConsoleUser")
3737
}
3838

velocity/src/main/kotlin/io/github/rothes/esu/velocity/user/PlayerUser.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ class PlayerUser(override val uuid: UUID, initPlayer: Player? = null): VelocityU
5656
colorSchemeUnsafe = userData.colorScheme
5757
}
5858

59-
override fun <T> kick(locales: MultiLangConfiguration<T>, block: T.() -> String?, vararg params: TagResolver) {
60-
player.disconnect(buildMiniMessage(locales, block, *params).server)
59+
override fun <T> kick(lang: MultiLangConfiguration<T>, block: T.() -> String?, vararg params: TagResolver) {
60+
player.disconnect(buildMiniMessage(lang, block, *params).server)
6161
}
6262

6363
override fun equals(other: Any?): Boolean {

0 commit comments

Comments
 (0)