I'm a little confused ... bukkit plugins will work in sponge?

at least let me know if you’ll get the plugins sponge needed to have a good server or will have compatibility with bukkit , thanks for reading .

No. Bukkit plugins will not natively work in Sponge and will need to be ported to Sponge. There is Pore, but its not ready yet and will need to sort license issues.

However, many plugin authors have chosen to port their plugins for themselves. You can view the whole topic here.

all they would have to do is pull the code strings to call upon the correct code strings to sponge. I can see that happening but not till sponge is completed

It’s entirely not that simple. The SpongeAPI in several important parts (such as Commands) is satisfyingly different from Bukkit.

I have no idea what you are on about.

2 Likes

If it was just a matter of replacing stuff, then somebody would have already written an automatic converter. But it’s not that simple. The structure of some parts of the API is rigorously different from the Bukkit API in structure.

How is sponge gonna work for people who already have a 1.7.10 server with cauldron and already are popular. Are we going to lose everything like player claimed land from Griefprevention and all homes from Essentials… all out Quests from quester. this is gonna be hard to fix if all is lost.

A lot of plugins will be ported and you can expect to see ways of converting old data to new data.

I’m pretty sure that GP is being ported and Essentials is aswell. Not sure about quester.

2 Likes

What is a code string?

String s = “I’m a code String!”

5 Likes

You know what I meant…
My code String: public String id;
His code string:

begin code
get a bucket
do stuff
run plugin
end code

“Replacing code strings”

begin code
get a sponge
do stuff
run plugin
end code
1 Like

for example
bukkit code:

public void myEvent(PlayerDeathEvent event){
Bukkit.BroadcastMessage(event.getEntity().getName() + " is bad at Minecraft!");
event.getEntity().sendMessage(“HAHAHA”);
}

sponge code to do same thing:
public void myEvent(PlayerDeathEvent event){
Sponge.BroadcastMessage(event.getPlayer().getName() + " is bad at Minecraft!");
event.getEntity().sendMessage(“HAHAHA”);
}

so you just need to have a set in there that would say to you bukkit code something like this

public void myEvent(PlayerDeathEvent event){

event.getEntity().getName() =event.getPlayer().getName(); <-- I am a C# programmer but you should make these value to the sponge value.

Bukkit.BroadcastMessage(event.getEntity().getName() + " is bad at Minecraft!");
event.getEntity().sendMessage(“HAHAHA”);
}

This would be minor changes that would make it compatible. that insert may not be in java code syntax but brings you to the point. It is hard to know so many programming languages except java. if you can do it in all the other codes for programming there should be a way in java. The structure for all languages are similar if you get the syntax correct.

there may be functions that it uses differently so you would have to crate the function that will correct it.

Note that is not correct below but examples of changing formats to the one is does need

function bukkitfunction1(string a, string b, string c) {
spongefunction1(string c, string d=“1”,string a, string c)
}

That’s not even remotely right.
The code varies by quite a bit.
And your examples arn’t even valid Java.

3 Likes

Bukkit code to cause an error

(what, cause an error?)

May I direct you to the SpongeDocs?

public void spongeFunction(String a, String c, String d;) {
    d = "1";
}

Would be Java code for that. Not that it does anything at all except define 3 Strings, one of which is set to “1”. :wink:

So, what is the benefit of using Sponge over using Forge?

If the porting of Bukkit mods is closer to a rewrite for each mod, rather than a conversion, why would a developer choose to rewrite their mod on Sponge and not Forge?

For future updates, wouldn’t it be faster for a developer to rewrite their mod for Forge since they only have to wait for Forge to Update, and not Forge and then Sponge?

As a server owner, we don’t want to lose any of our old Bukkit mods, but if there is a Forge mod and a Sponge mod that provide the same functionality, I’m not sure of the benefit of taking the Sponge mod at the moment.

Because mod =/= plugin.

You dont have to rewrite a Sponge plugin for each version. You DO have to do the same for forge mods.

Also, Sponge plugins will work on SpongeVanilla as well.

You also cant just ‘convert’ code. Thats not how any of this works. You want to code for a new API? Rewrite that code.

EDIT: since it also seems to be a common topic to ask ‘why cant you just convert bukkit plugins to sponge’ id ask people to learn coding before trying to claim that.

1 Like

I didn’t imagine those would be popular questions, but they need to be asked.

I do actually write a couple Forge mods for our private server which I update through Eclipse. There is a difference between converting and rewriting from scratch. If Sponge requires wholesale rewrites, then I’m asking what is the benefit over Forge? There has been a ton of work poured into Sponge and I don’t want to downplay that in any way.

Above ^ <ggiyiggiughbhgvlgkh

The question was would it be possible to have a convert and it is yes but sponge will not write the code. I did say the code was not java because I do not know the java syntax. It is an idea example for some one that does do java coding to build the plugin with all the functions it needs to take the bukkit to sponge. There is a project that started called poke I believe that is doing exactly this and trying to make it easier for bukkit to sponge conversion. This may be only a temp solution till you convert over.

the spongefunction1(string c, string d=“1”,string a, string c) was an example if one function (bukkit) calling another function (sponge) and passing the varables to the sponge API. Maybe the sponge had 1 extra varable in the string and it was showing that it could be passed to the correct format. Without knowing the java syntax, it is hard for me to show you but programming structure is pretty similar between the language and would have to be done in the java format. It is more of a concept.

I would love to see bukkit stuff up and running before they fully are sponge so I can get my server back online. Had to white list the server to limit admins only to keep my server protected.

I will not start my first java learning minecraft plugin for sponge till it is more complete and the documentation is done. The documentation out there for people that already have projects and want to start conversion over now. It says if your new then it is recommended to wait.

as for why sponge is not writing in forge but their own:
I believe they are making sponge independent of any current code so they will not have any issue as they did with the bukkit. Bukkit was closed due to stuff used in craftbukkit and caused a copyright issue. By keeping it independent they are avoiding any legal issues. SO NO THERE WILL BE NO COMPATABILITY TO BUKKIT FROM SPONGE". Sponge is just starting on Forge to get people started. It will also be written on the other forms in minecraft to allow the spongeAPI to be floatable. If you using Forge Sponge version or the vanilla sponge version would not make a difference due to the API would be the same and no plugins would stop working. Forge has been out their for a while but will always lag a few versions behind. The one great thing about sponge is that the plugins are relying on sponge api and not minecraft code. This allows it to be more flexable in getting faster releasing because only the quick fix in sponge and poof all your plugins work because the sponge works. This alone is a great feat. All the sponge info was in the first meeting that is audio and there are some written docs as well that show all that sponge will work on after it is complete. Sponge is still a baby and being developed.

I take my hat off to all the Sponge Developers and say keep up the great work.

3 Likes