【发布时间】:2021-10-26 17:14:47
【问题描述】:
我正在 kotlin 中为 Minecraft 做一个等级系统。现在我想在制表符和聊天消息中显示玩家姓名前的排名
聊天示例: [所有者] Fabboy:你好世界 [用户] 玩家:嘿 Fabboy
有人知道我是怎么做到的吗? (排名保存在配置中,Minecraft 1.17.1,Java 16)
我不是使用 Kotlin 编程的专业人士,因此非常感谢您提供详细的回答
代码:
package dev.fabboy.bork
import net.kyori.adventure.text.Component
import net.kyori.adventure.text.TextComponent
import org.bukkit.Bukkit
import org.bukkit.entity.Player
import org.bukkit.event.EventHandler
import org.bukkit.event.Listener
import org.bukkit.event.player.PlayerJoinEvent
import org.bukkit.plugin.java.JavaPlugin
import org.bukkit.scoreboard.DisplaySlot
const val version = "0.1"
//
lateinit var INSTANCE: Bork
class Bork : JavaPlugin(), Listener {
override fun onEnable() {
INSTANCE = this
println("----------\n[Bork] Plugin loaded \nVersion: $version\nVersion from: 2021-09-07\n${(System.currentTimeMillis())}\n----------")
server.pluginManager.registerEvents(this, this)
getCommand("broadcast")?.setExecutor(Broadcast())
getCommand("setrank")?.setExecutor(setrank())
getCommand("rank")?.setExecutor(rank())
}
override fun onDisable() {
Bukkit.getConsoleSender().sendMessage("[Bork] Plugin Disabled")
}
@EventHandler
fun onJoin(joinEvent: PlayerJoinEvent) {
val player = joinEvent.player
var j = this.config.get("Bork.${player.uniqueId}.joins", 0) as Int
var r = this.config.get("Bork.${player.uniqueId}.rank", 1) as Int
j += 1
var ranker = ""
if(r == 1){
ranker = "§3User"
}
if(r == 2){
ranker = "§dVIP"
}
if(r == 3){
ranker = "§6Admin"
}
if(r == 4){
ranker = "§cOwner"
}
player.sendMessage("§e-------------§r§lPrivate§r§e--------------§r\n§lWelcome§r\n${(player.displayName() as TextComponent).content()}\nThis is your: §e§l$j Join§r\nYour Rank: $ranker §r\n§e----------------------------------§r\nRanks:\n1. §3User§r\n2. §dVIP§r\n3. §6Admin§r\n4. §cOwner§r\n§e-------------§r§lPrivate§r§e--------------")
this.config.set("Bork.${player.uniqueId}.joins", j)
this.config.set("Bork.${player.uniqueId}.rank", r)
this.saveConfig()
}
}
【问题讨论】:
-
您当前的代码是什么?比如你已经做了什么?
-
你可以edit你的问题包括所有细节
-
我已经添加了代码
标签: java kotlin config minecraft