NoEncryption
NoEncryption copied to clipboard
[Suggestion] Use ProtocolLib (or some modernised fork) for modularity.
Might be easier to maintain and handle than the current system, especially with how some servers (I mean softwares like Spigot & Paper) like to swap the mappings around.
Spigot 1.17.1 had
import net.minecraft.network.protocol.game.PacketPlayOutEntityDestroy;
Paper 1.17.1 had
import net.minecraft.network.protocol.game.ClientboundRemoveEntitiesPacket;
Given the devs of both server suites heavily discourage the use of NMS (as they should, even if it is a requirement in this case), it might aid compat to use ProtocolLib or similar, although that would sacrifice the plugin's ability to be a selfcontained unit that doesnt need extra runtime deps.
Sidenote, I asked the paper devs on discord if they wanted this as a native server feature and they were very quick to give me a hard no on it, saying "a plugin can easily handle it". Given that any plugin for that would require tampering with packets in an NMS way (as seen here), and they want to discourage the use of NMS imports, I do find their response peculiar.
I can work this in the near future
At the soon release of NoEncryption 5.0, ProtocolLib will not be needed in favor of direct reflection. See PR #41