Added PacketHeldWindowItems to hopefully fix display
This commit is contained in:
@@ -26,6 +26,7 @@ import com.willfp.eco.internal.spigot.data.PlayerBlockListener
|
||||
import com.willfp.eco.internal.spigot.data.storage.ProfileSaver
|
||||
import com.willfp.eco.internal.spigot.display.PacketAutoRecipe
|
||||
import com.willfp.eco.internal.spigot.display.PacketChat
|
||||
import com.willfp.eco.internal.spigot.display.PacketHeldWindowItems
|
||||
import com.willfp.eco.internal.spigot.display.PacketOpenWindowMerchant
|
||||
import com.willfp.eco.internal.spigot.display.PacketSetCreativeSlot
|
||||
import com.willfp.eco.internal.spigot.display.PacketSetSlot
|
||||
@@ -240,6 +241,7 @@ abstract class EcoSpigotPlugin : EcoPlugin(
|
||||
PacketSetCreativeSlot(this),
|
||||
PacketSetSlot(this),
|
||||
PacketWindowItems(this),
|
||||
PacketHeldWindowItems(this),
|
||||
PacketOpenWindowMerchant(this)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.willfp.eco.internal.spigot.display
|
||||
|
||||
import com.comphenix.protocol.PacketType
|
||||
import com.comphenix.protocol.events.PacketContainer
|
||||
import com.comphenix.protocol.events.PacketEvent
|
||||
import com.willfp.eco.core.AbstractPacketAdapter
|
||||
import com.willfp.eco.core.EcoPlugin
|
||||
import com.willfp.eco.core.Prerequisite
|
||||
import com.willfp.eco.core.display.Display
|
||||
import com.willfp.eco.internal.spigot.display.frame.DisplayFrame
|
||||
import com.willfp.eco.internal.spigot.display.frame.lastDisplayFrame
|
||||
import org.bukkit.entity.Player
|
||||
import org.bukkit.inventory.ItemStack
|
||||
|
||||
class PacketHeldWindowItems(plugin: EcoPlugin) : AbstractPacketAdapter(plugin, PacketType.Play.Server.WINDOW_ITEMS, false) {
|
||||
override fun onSend(
|
||||
packet: PacketContainer,
|
||||
player: Player,
|
||||
event: PacketEvent
|
||||
) {
|
||||
if (!Prerequisite.HAS_1_17.isMet) {
|
||||
return
|
||||
}
|
||||
|
||||
packet.itemModifier.modify(0) { item: ItemStack? ->
|
||||
Display.display(
|
||||
item!!, player
|
||||
)
|
||||
}
|
||||
|
||||
player.lastDisplayFrame = DisplayFrame.EMPTY
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user