Lithium (Fabric/NeoForge)

Lithium (Fabric/NeoForge)

36M Downloads

Add Spigot support

mrjasonn opened this issue ยท 7 comments

commented

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

commented

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?

commented

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.

commented

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

commented

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

commented

In case you don't know, Spigot is not a modloader. And Lithium is not a plugin.

commented

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.

commented

In case you don't know, Spigot is not a modloader. And Lithium is not a plugin.

It's a suggestion to port this to Spigot (even though it may be a plugin)... (might be harder to in-house port to forge assuming it hasn't been done yet)