1+ package me.arasple.mc.trchat.api.nms
2+
3+ import me.arasple.mc.trchat.util.ServerUtil
4+ import net.minecraft.network.chat.Component
5+ import org.bukkit.craftbukkit.entity.CraftPlayer
6+ import org.bukkit.craftbukkit.util.CraftChatMessage
7+ import org.bukkit.entity.Player
8+ import org.bukkit.inventory.ItemStack
9+ import taboolib.common.platform.function.adaptPlayer
10+ import taboolib.module.chat.ComponentText
11+ import taboolib.module.nms.MinecraftLanguage
12+ import taboolib.module.nms.getLanguageKey
13+ import taboolib.platform.Folia
14+ import taboolib.platform.util.hoverItem
15+ import java.util.*
16+
17+ class NMSImpl260100 : NMS () {
18+
19+ override fun craftChatMessageFromComponent (component : ComponentText ): Any {
20+ return CraftChatMessage .fromJSON(component.toRawMessage())
21+ }
22+
23+ override fun rawMessageFromCraftChatMessage (component : Any ): String {
24+ return CraftChatMessage .toJSON(component as Component )
25+ }
26+
27+ override fun sendMessage (receiver : Player , component : ComponentText , sender : UUID ? , usePacket : Boolean ) {
28+ if (! usePacket || Folia .isFolia || ServerUtil .isModdedServer) {
29+ component.sendTo(adaptPlayer(receiver))
30+ return
31+ }
32+ val player = (receiver as CraftPlayer ).handle
33+ player.sendSystemMessage(craftChatMessageFromComponent(component) as Component )
34+ }
35+
36+ override fun hoverItem (component : ComponentText , itemStack : ItemStack ): ComponentText {
37+ return component.hoverItem(itemStack)
38+ }
39+
40+ override fun optimizeNBT (itemStack : ItemStack , nbtWhitelist : Array <String >): ItemStack {
41+ return itemStack
42+ }
43+
44+ override fun getLocaleKey (itemStack : ItemStack ): MinecraftLanguage .LanguageKey {
45+ return itemStack.getLanguageKey()
46+ }
47+ }
0 commit comments