Add Spigot support
mrjasonn opened this issue ยท 7 comments
Is your feature request related to a problem? Please describe.
It is very frustrating that to get better performance without breaking things, you have to use Paper which breaks things.
Describe the solution you'd like
To have an official in-house port for Spigot
Describe alternatives you've considered
Paper, but it does break things even though it optimises
Additional context
None
even though it may be a plugin
Lithium modifies the game code, it doesn't rely on APIs, unlike plugins. So this is architecturally impossible unless Spigot provides support for mixins. Newer Forge versions support mixins, so the official (or unofficial) ports are actually possible. But in the best case, Lithium will be officially ported to NeoForge.
NMS coding? If not then a fork of Spigot that implements Lithium?
A modloader and plugin system are fundamentally different and "porting to lithium to spigot" is kinda not how it works. If you want a server that is optimized then you're looking for papermc. It and lithium share a few patches even. I don't think the caffeine team has the development bandwidth to maintain a fork that incorporates all lithium patches.
A modloader and plugin system are fundamentally different and "porting to lithium to spigot" is kinda not how it works. If you want a server that is optimized then you're looking for papermc. It and lithium share a few patches even. I don't think the caffeine team has the development bandwidth to maintain a fork that incorporates all lithium patches.
I have said that PaperMC doesn't work for people who don't want optimisations that break things
Then host a fabric server and add lithium to it. For various reasons it is not an easy task to implement the spigot API over a fabric server nor is it possible to "implement lithium as a spigot plugin". There exist solutions to attempt to implement the spigot/bukkit API on fabric (like "cardboard") but these are generally NOT recommended here as they are not technically sound or well tested. Anyone who understands the technical issues with this will give you the same or similar answer.
For additional clarification; these approaches to modifying the game are fundamentally not compatible. Spigot modifies packets as they are sent and received to create new behavior or the actual changes you see in game, it doesn't touch underlying game code*.
Fabric modding can and often does change underlying game code. These two approaches conflict
In case you don't know, Spigot is not a modloader. And Lithium is not a plugin.
even though it may be a plugin
Lithium modifies the game code, it doesn't rely on APIs, unlike plugins. So this is architecturally impossible unless Spigot provides support for mixins.
Newer Forge versions support mixins, so the official (or unofficial) ports are actually possible. But in the best case, Lithium will be officially ported to NeoForge.