Spigot & Forge Integration - Will it ever happen?

Discussion in 'Spigot Discussion' started by diamondpumpkin, Dec 27, 2018.

  1. I know this has been done before but with the use of Bukkit. This all was before the DMCA of Bukkit. Now a days there's little to no option when it comes to modding and adding plugins. I know there's Sponge, but I don't feel like forking plugins or hiring someone to fork plugins just to get some plugins and mods on the same server. As of right now, you can mod servers. But without at least some of optimizations that were in the 1.7 versions of the integration it's not the same. Bare bones minecraft with forge and mods loaded on top of it is just too much for it to handle on a server that could easily handle the integration. My question is, is there or will there ever be a development in a new spigot & forge integration for later versions of Minecraft?
     
    • Optimistic Optimistic x 1
  2. Guess you don't like lollygaggin', ay?
    [​IMG]

    Oh and I don't see a Spigot/Forge integration happening either.
     
  3. spout was a thing, that's dead though, cauldron as well, but i think that's also dead..
     
  4. Choco

    Moderator

    Oh yes, a README, gitignore and LICENSE file with absolutely 0 work done whatsoever. The Bukkit API and Forge API were never meant to coexist, I would not expect it to.
     
    • Winner Winner x 2
  5. It's possible, but with so many changes and there being no 1.13 forge that's finished, it would be a pain in the ass to do
     
  6. You were all doubtful, but there is now a release. Kettle is our savior, and is hopefully here to stay.
     
  7. Spout was a standalone server that had nothing to do with Forge. It was even supposed to be independent of Minecraft and get Minecraft features through a plugin. As far as I know, some of its code was reused in Sponge (many Sponge developers used to work on Spout). It also had a Bukkit implementation (BukkitBridge).

    Forge is not mainly an API. It provides some utils but it is by no means an API like Bukkit. Forge mods are still compiled against Minecraft.

    And because of this, it really isn't that hard to implement Bukkit as a Forge mod. A Forge server is still a Minecraft server, Bukkit could be implemented the same way as it is implemented in CraftBukkit. The methods, fields and classes of course are called differently in a Forge environment since it uses MCP mappings while CraftBukkit uses its own ones. That would break plugins that call CraftBukkit internals, but it wouldn't be much of an effort to rename some parts of code to match.

    The problem is that compatibility with core mods would be practically zero and that Bukkit wouldn't behave in a reasonable way if no further work is done at this point. @2008Choco is unfortunately right: Bukkit isn't designed to work with unknown entity types, materials etc. And even if it was modified to somehow handle them, that wouldn't magically make thousands of plugins expect it to. Cauldron was an amazing project that performed remarkably, but it never supported (supposed) Bukkit plugins as well as CraftBukkit or Forge mods as well as Forge. It's not easy to find developers who like to spend so much time on a project that is so frustrating.
     
    • Agree Agree x 1
    • Optimistic Optimistic x 1
  8. Because you have to pretty much rewrite Spigots plugins to work with Sponge. And as far as I could tell using Sponge, it isn't as optimized as Spigot.

    I heard Atom uses Minecraft source code, if it is still a in progress project and this is case. Won't be for very long.
     
    • Agree Agree x 1
  9. So you say rewriting spigot is easier than a couple of plugins? o_O
     
  10. The way you put this sounds like there is something striking. Yes, it is easier to change one central project than to address fundamental assumptions made while programming that became wrong through a changed base in ten thousands of projects.
     
  11. Wait? Doesn't glowstone do this or is that something else?
     
  12. Glowstone is a from-scratch-written Vanilla Minecraft server that implements the Bukkit API. It doesn't have anything to do with Forge.
     
  13. Hmmm okay well ill edit this post when i find what i was thinking of, there is something like sponge that supports spigot plugins + mods i just forgot the name of it,
     
  14. I and the Paper team, which is the fastest (sane) Bukkit based server software, work with the sponge team to port all of our performance improvements to Sponge. A serious amount of my work is in Sponge.

    I wouldn't be surprised if SpongeVanilla doesn't perform just as well as Spigot these days. Now when you add in forge stuff, that will take the performance back down - but that's to your own desire.

    but analyzing 'what makes spigot faster than vanilla, apply that to forge', is pretty much covered significantly in sponge.

    Note however that many of the optimizations might be in a default off state to maintain closer to vanilla state out of the box, and require turning them on.

    Entity activation range for example, is one of my largest improvements to performance in spigot, is also in Sponge but is default off. Just gotta turn it on.

    See this guide: https://docs.google.com/document/d/1LJ5VodluXPU_rse0ulfZNg36yaclWvglrNxrpk_OyOM/
     
  15. I think the general Idea is the ability to modify client behavior too.
    Of course with friendly pre-made API style without dealing with nms or mcp. .
    Client and server resource synchronization.
    Not just texture packs but whole mob entities and blocks.
    I think sponge-forge has already implemented this.
    Have no idea as I skipped sponge and went straight to forge.
    Which support for 1.13.2 is wobbly at the moment with missing gradle imports lol.

    One thing I like with sponge forge or forge is the ability to send data to client.
    Just using simple http or ports.

    Which can enable client side:
    Anti cheat per server owner.
    Custom blocks
    Custom mobs.
    Custom armor models.
    Custom weapons and items without texture packs.
    Bad side is a server owner with bad intentions can send malicious code to clients.
    But that is not the API's problem anymore.

    And the idea of forcing players to install a mod just horrifies me.
    This should be done by the client-server communication.

    Well maybe in the future when all prides and drama and corporate greed is gone
    We can have a universal minecraft API which supports vanilla clients but can also
    support uploading objects to the client whether its in json format png format
    or what ever it takes to ensure player safety.

    Or microsoft including java edition to the multi platform plan. lol feel free to rate optimistic :ROFLMAO::ROFLMAO::ROFLMAO:
     
  16. Hmmmm. Smells like a certain other game :p
     
    • Like Like x 1
    • Agree Agree x 1
    • Funny Funny x 1

Share This Page