where is NetworkMarker#addOutputHandler
I-am-ddang opened this issue ยท 1 comments
To Reproduce
access to NetworkMarker#addOutputHandler
Expected behavior
A clear and concise description of what you expected to happen.
Version Info
ProtocolLib Dump
Timestamp: 06/16/22 16:43:37
ProtocolLib Version: ProtocolLib v5.0.0-SNAPSHOT-b560
Bukkit Version: 1.19-R0.1-SNAPSHOT
Server Version: git-Paper-7 (MC: 1.19)
Java Version: 17.0.1
ProtocolLib: com.comphenix.protocol.ProtocolLib@4ae871b2[
statistics=com.comphenix.protocol.metrics.Statistics@207c9a10
backgroundCompiler=com.comphenix.protocol.reflect.compiler.BackgroundCompiler@94cc7ce
packetTask=2
tickCounter=148773
configExpectedMod=1
updater=com.comphenix.protocol.updater.SpigotUpdater@53ad9ed0
redirectHandler=com.comphenix.protocol.ProtocolLib$2@5ac110f6
commandProtocol=com.comphenix.protocol.CommandProtocol@1e29ada4
commandPacket=com.comphenix.protocol.CommandPacket@71346b18
commandFilter=com.comphenix.protocol.CommandFilter@4e5020f0
packetLogging=com.comphenix.protocol.PacketLogging@1c44cf6c
skipDisable=false
isEnabled=true
loader=org.bukkit.plugin.java.JavaPluginLoader@4f5305cd
server=CraftServer{serverName=Paper,serverVersion=git-Paper-7,minecraftVersion=1.19}
file=plugins\ProtocolLib.jar
description=org.bukkit.plugin.PluginDescriptionFile@52752f79
dataFolder=plugins\ProtocolLib
classLoader=PluginClassLoader{plugin=ProtocolLib v5.0.0-SNAPSHOT-b560, pluginEnabled=true, url=plugins\ProtocolLib.jar}
naggable=true
newConfig=YamlConfiguration[path='', root='YamlConfiguration']
configFile=plugins\ProtocolLib\config.yml
logger=com.destroystokyo.paper.utils.PaperPluginLogger@3fdaa85a
]
Manager: com.comphenix.protocol.injector.PacketFilterManager@4c98655e[
plugin=ProtocolLib v5.0.0-SNAPSHOT-b560
server=CraftServer{serverName=Paper,serverVersion=git-Paper-7,minecraftVersion=1.19}
reporter=com.comphenix.protocol.ProtocolLib$1@376d8553
minecraftVersion=(MC: 1.19.0)
asyncFilterManager=com.comphenix.protocol.async.AsyncFilterManager@5a5f595f
pluginVerifier=com.comphenix.protocol.injector.PluginVerifier@30adb236
inboundListeners=com.comphenix.protocol.injector.SortedPacketListenerList@3f9093e8
outboundListeners=com.comphenix.protocol.injector.SortedPacketListenerList@640cde54
registeredListeners=[PacketAdapter[plugin=Orebfuscator, sending=ListeningWhitelist[priority=NORMAL, packets=[UNLOAD_CHUNK[class=PacketPlayOutUnloadChunk, id=26]], gamephase=PLAYING, options=[]], receiving=EMPTY_WHITELIST], PacketAdapter[plugin=DecentHolograms, sending=EMPTY_WHITELIST, receiving=ListeningWhitelist[priority=NORMAL, packets=[USE_ENTITY[class=PacketPlayInUseEntity, id=15]], gamephase=PLAYING, options=[]]], com.comphenix.protocol.async.NullPacketListener@3e06a711]
packetInjector=com.comphenix.protocol.injector.netty.manager.NetworkManagerPacketInjector@4439e62b
playerInjectionHandler=com.comphenix.protocol.injector.netty.manager.NetworkManagerPlayerInjector@1958c098
networkManagerInjector=com.comphenix.protocol.injector.netty.manager.NetworkManagerInjector@226c0f88
debug=false
closed=false
injected=true
]
Listeners:
net.imprex.orebfuscator.proximityhider.ProximityPacketListener@568df2e9[
protocolManager=com.comphenix.protocol.injector.PacketFilterManager@4c98655e
config=net.imprex.orebfuscator.config.OrebfuscatorConfig@20909bef
playerManager=net.imprex.orebfuscator.proximityhider.ProximityPlayerManager@2b933968
plugin=Orebfuscator v5.3.0
connectionSide=SERVER_SIDE
receivingWhitelist=EMPTY_WHITELIST
sendingWhitelist=ListeningWhitelist[priority=NORMAL, packets=[UNLOAD_CHUNK[class=PacketPlayOutUnloadChunk, id=26]], gamephase=PLAYING, options=[]]
]
eu.decentsoftware.holograms.api.nms.PacketHandler__ProtocolLib$1@36147780[
plugin=DecentHolograms v2.4.2
connectionSide=CLIENT_SIDE
receivingWhitelist=ListeningWhitelist[priority=NORMAL, packets=[USE_ENTITY[class=PacketPlayInUseEntity, id=15]], gamephase=PLAYING, options=[]]
sendingWhitelist=EMPTY_WHITELIST
]
com.comphenix.protocol.async.NullPacketListener@3e06a711[
sendingWhitelist=ListeningWhitelist[priority=LOW, packets=[MAP_CHUNK[class=ClientboundLevelChunkWithLightPacket, id=31]], gamephase=PLAYING, options=[ASYNC]]
receivingWhitelist=ListeningWhitelist[priority=LOW, packets=[], gamephase=PLAYING, options=[ASYNC]]
plugin=Orebfuscator v5.3.0
]
Plugins Using ProtocolLib:
Orebfuscator by [Ingrim4, NgLoader, lishid, SydMontague, ProgrammerDan, Aleksey-Terzi]
DecentHolograms by [d0by]
Additional context
why do you remove NetworkMarker#addOutputHandler? why do you leave PacketOutputHandler?
I missed removing the PacketOutputHandler, will do that later. We removed that functionality because v5 is now injecting in a different way into the pipeline, reduing the "hackyness" and load of the server we need to process outbound packets. In general PacketOutputHandler was an old concept from the times were mc servers were based on socket connections and wasn't as complex to serialize stuff as it is today. Therefore it's preferable to read the nms data from a packet, rather than trying to read/modify the raw bytes which get sent.