Added recipe packet splitting
This commit is contained in:
@@ -115,6 +115,7 @@ import com.willfp.eco.internal.spigot.proxy.FastItemStackFactoryProxy
|
||||
import com.willfp.eco.internal.spigot.proxy.SkullProxy
|
||||
import com.willfp.eco.internal.spigot.proxy.TPSProxy
|
||||
import com.willfp.eco.internal.spigot.recipes.CraftingRecipeListener
|
||||
import com.willfp.eco.internal.spigot.recipes.RecipePacketFixer
|
||||
import com.willfp.eco.internal.spigot.recipes.StackedRecipeListener
|
||||
import com.willfp.eco.internal.spigot.recipes.listeners.ComplexInComplex
|
||||
import com.willfp.eco.internal.spigot.recipes.listeners.ComplexInVanilla
|
||||
@@ -344,7 +345,8 @@ abstract class EcoSpigotPlugin : EcoPlugin() {
|
||||
PacketSetSlot(this),
|
||||
PacketWindowItems(this),
|
||||
PacketHeldWindowItems(this),
|
||||
PacketOpenWindowMerchant(this)
|
||||
PacketOpenWindowMerchant(this),
|
||||
RecipePacketFixer(this)
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.willfp.eco.internal.spigot.recipes
|
||||
|
||||
import com.comphenix.protocol.PacketType
|
||||
import com.comphenix.protocol.ProtocolLibrary
|
||||
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.internal.spigot.proxy.RecipePacketProxy
|
||||
import org.bukkit.entity.Player
|
||||
|
||||
class RecipePacketFixer(
|
||||
plugin: EcoPlugin
|
||||
) : AbstractPacketAdapter(
|
||||
plugin,
|
||||
PacketType.Play.Server.RECIPE_UPDATE,
|
||||
false
|
||||
) {
|
||||
override fun onSend(packet: PacketContainer, player: Player, event: PacketEvent) {
|
||||
val nmsPackets = this.getPlugin().getProxy(RecipePacketProxy::class.java).splitPacket(packet.handle)
|
||||
|
||||
for (nmsPacket in nmsPackets) {
|
||||
val protocolLibPacket = PacketContainer.fromPacket(nmsPacket)
|
||||
ProtocolLibrary.getProtocolManager().sendServerPacket(player, protocolLibPacket, false)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user