Is forge bad? Is spigot here to stay and will Sponge and Spigot co-exist?


#1

Hello Minecrafters. I understand right now that Bukkit is dead. Spigot is still alive. In the chaos of the DMCA takedown of Bukkit, Sponge was born. It is being built off of Forge, but now has a vanilla Minecraft version so it’s going to be kinda like Bukkit, just a new API. It is compatible with Forge which some people say is stupid because you need a modded client to join forge servers. People also say that forge is a crappy API on this thread on the Spigot website: https://www.spigotmc.org/threads/spigot-or-sponge.55658/ saying its laggy but others say that it has way more functionality then Spigot ever had. I found a similar thread on the Sponge website: https://forums.spongepowered.org/t/what-to-build-off-of-spigot-bukkit-or-sponge/8968 and the bukkit one: http://dev.bukkit.org/bukkit-plugins/skript/polls/sponge-or-spigot-if-you-had-to-choose-one/ And someone said that their plugin will never work with Pore wven when its finished. Is forge also a bad API to build sponge off of or is Forge going to have an overhaul. Any what will happen with the official plugin API comes. Will you update to that or will Forge update to it and you update to that? Any information at all on this topic will be highly appreciated.
EDIT: Sorry I forgot about the 1.8 forge supported vanilla clients when unmodded. I forgot to say when I mean joining spongeforge servers with mods needing forge for that. If anyone knows if Forge will ever has something like what you can do with server resourcepacks where you can automatically download the resourcepack but in forge's case, mods. Thanks for your time everyone.


#2

I don't think that's true. I've been developing a Sponge plugin for Forge and I refuse to mod my client. It works just fine with the vanilla client. You may be referring to the fact that some forge mods work better if you have a modded client, but it is not a requirement for Sponge and Sponge currently doesn't offer any client modding options.


#3

I can't speak for how good or bad an API Forge is, but you no longer need a modded client to connect to a Forge server. That was changed about a year ago, if I recall correctly. Also, when Sponge is closer to a release version, SpongeForge and SpongeVanilla will contain the same API features; essentially the only difference is that the Forge version can run alongside other Forge mods.

Lastly: I'm not 100 % on the legality of Spigot, either. They use a shady model of updating and distribution, and even so they kept all their servers in Romania the last time I checked. There's something funky going on there.

EDIT: Talking about Pore, it will most likely not support plugins that heavily utilize NMS. Other than that, most functions will probably have a Sponge equivalent (even if the input has to be changed before it's fed into Sponge), so a lot of plugins will run. And then there's the fact that most major (and a lot of less used) plugins are being ported or rewritten for Sponge anyway, so you'll be able to run those instead. There's no doubt that Sponge is a much more powerful API than Bukkit (and thus, by extension, also Spigot) was.


#4

No, you can join a Forge server with a vanilla client as of 1.8, as long as you only install Forge mods which don't require a clientmod. Sponge doesn't require a clientmod, thus you can use SpongeForge with a vanilla client just fine.

correct. However Forge tends to break between versions. Sponge and Spigot at least try to prevent that.

I wouldn't count on Pore as Sponge API is way more powerful than Bukkits. The best option is to completely rewrite the plugin.

Well... NMS hasn't seen any support ever. The only reason people want to use it is that their API has flaws that they need to bypass. A well engineered API doesn't need any NMS access...


Regarding the Forge vs. Spigot vs. Sponge thing:
I believe that Sponge especially in combination with Forge is way more powerful than Spigot. The question is how long md_5 will keep going and what the users will choose. Currently Sponge is the only plugin API for 1.8 which support Sponge (like Cauldron did with Bukkit for 1.7.x).


#5

For over a year now.

Yes, but the concern is that since it's based on Bukkit, it's in a bit of a grey area legally, which isn't an issue in pragmatic terms, but will potentially struggle to maintain relevance as new minecraft versions come out, which is.

No, sponge is not "built off forge", Sponge is built on Minecraft and has Forge and Vanilla versions, since there are advantages to both.

This is untrue since 1.8, this was true in 1.7 but we don't care about old versions.

Forge is not an API, that's why. It's just a modding platform which is an entirely different animal.

This comes up a lot, in fact in many ways forge actually improves performance, the main cause of confusion is that people generally install Forge when they want to use mods, and mods will impose a varying performance penalty. A lot of the "forge is laggy" is just plain FUD however. But anyone with those concerns about Sponge can simply use the Vanilla version.

This is kind of true, because Forge (as mentioned before) is not an API, it's simply a platform to gain access to the inner workings of Minecraft. Since in general an API only gives access to a subset of total functionality this is pretty much always true, but it's a bit like comparing a bus with a car and saying that a bus is better because it has more seats, or a car is better because it's more efficient and goes faster. They're different things for different purposes and comparing them directly doesn't really make a lot of sense - you use one thing for one task and the other thing for another.

Pore can only replicate Bukkit functionality, thus any plugins which relied on the implementation known as CraftBukkit will almost certainly never work on it, though the Pore guys may have intentions to support that in the long term.

Forge is not an API so this question makes no sense at all.

Pragmatism, every community effort is made to support the community, this kind of question is again, largely irrelevant.

Again, it's pretty much irrelevant. The most likely case is that both will coexist long enough for people to switch to the new thing, and then the old will slowly slip into the forgotten mists of the past. However again it's utterly meaningless conjecture since if you factor in the number of people still playing ancient versions of minecraft because they're happy with them, where do you draw the line.

Stuff isn't black and white, the only solid thing is that Bukkit got DMCA'd, everything else is pretty much open to interpretation. This topic has been done to death and generally gets bandied around by platform evangelists who don't really have any agenda besides "big up this, death to that", and it's completely counter-productive.

Key points:

  • Forge isn't an API, any argument including that as a premise can be immediately discarded
  • We're all just trying to give the community some longer term options, no we don't have any more idea than you do what the really long-term contains, but sitting on our hands because of uncertainty doesn't help anyone
  • If you actually wanted a discussion, coming in with a bunch of assertions which make no sense wasn't really the way to go about it
  • Bukkit is dead, Spigot is doing its own thing and is doing a sterling job providing immediate support for server owners who want a path to pursue right now. We're trying to provide support for the community in the mid-long term

Seriously, can we just put this topic to bed once and for all and end all the navel-gazing


#6

Forge is by no means a bad API. (It's not really an API at all) It just allows modders to do some really bad things.
Forge is designed to give developers a lot of raw access to the game. As a result it CAN be bad. Forge by itself is actually very powerful and runs really fast.

I completely agree with this. In my current development of FoxGuard I have been able to do a lot more than I would have been able to with the bukkit API.


#7

Its my opinion that Sponge is the best thing to happen to the server community. I think people are just afraid of a little change. Its my prediction that once Sponge is fully released, spigot will fade away.


#8

That is probably true, as any advantage that Spigot had over Sponge is now being leveled.
Some of these things are

  • BungeeCord
  • Timings
  • Performance Optimizations

So as Sponge supercedes Spigot, Spigot will start to slowly fade.
The key selling point is the native mod compatibility.


#9

Afaik Forge doesn't have Bungee support but SpongeForge (Forge + Sponge) has. However you need to manually patch Bungee and (if you want to run it) Spigot too. The corresponding PRs to add native support to bungee are still waiting to get merged :frowning:


#10

Yeah I know.... :frowning:

I'm sure they'll go through eventually.

I'll go throw extra support at it if I have to.


#11

They are either lazy to port plugins to sponge, or their code is garbage (or maybe both). No offence to pore devs, but i dont see a single reason to create this bridge. Developers can either update the plugin, or let their plugins die.

This might be true, i personally dont know, but im pretty sure most of these people, who are complaining about performace, are overusing reflection to access nms stuff or to bypass bukkit's nms package versioning and much more dirty things you can do in during programming with high level language such as java.


#12

Thanks for the information everyone! This really is an active and great community. Posting this only 3 hours ago and this many replies is amazing! Thanks


#13

No that will absolutely, 100%, no-question-about-it, utterly assuredly, cross-anyone's-heart-you-care-to-name-and-hope-to-die, never happen.

Under no circumstances will that ever happen is what I'm getting at.

Just... no.


#14

I can just +1 mumfrey here. This won't ever happen.
Way to easy to send malicious code etc.


#15

1-UP x 1000 + 9001


#16

What I meant was that it would work like the resourcepacks. Posting the necessary mod links compatible with your server. Not having you download straight from the server and having your choice whether to do it to join or not. You probably assumed that's what I meant but if not please resopnd. Thanks


#17

No, the server will never delegate this in any way, no matter how circuitous. It's code, and server-specified sources of any kind cannot be trusted by the client for that. The reasons are manifold and have been discussed at length in other threads, so I won't reiterate them here, but suffice to say that this too has been absolutely flogged until the horse is so dead that it's not really recognisable as a horse any longer.


#18

Ok thanks. I never caught any of those threads so I decided to just make one and include the question. Thanks for the information. It was highly appreciated.


#19

Be careful around @mumfrey. He's armed with an electric egg-beater. You don't want to know what one can do with an electric egg beater...


#20

More terrifying is that he has likely made it FLARD-powered

On-topic tho, i never liked how little bukkit could actually do compared to Forge and i'm quite annoyed that the community can't let bukkit just die and move on to 1.8.8