Porting Bukkit Plugins to Sponge

I have seen a lot of threads asking about which plugins are going to be ported to Sponge, so I am going to say this:

There is a Sponge plugin in the making called Pore, in which you will be able to load Bukkit plugins to Sponge. As long as the plugins do not use NMS, they will work (unless Pore creates a NMS remap utility similar to that of md_5’s SpecialSource) Any plugins that use reflection to access NMS, OBC, or directly use NMS or OBC will break (such as WorldEdit, I imagine sk89q will port that to Sponge manually though.)

You can learn more about Pore here: http://www.reddit.com/r/spongeproject/comments/2frfaa/pore_a_bridge_for_bukkit_and_sponge/

https://bitbucket.org/mproncace/pore

EDIT: I do not own or have any affiliation with the Pore Project.

2 Likes

@BungeeTheCookie This sounds like it will be really cool, can’t wait to see it in action! :slight_smile:

This is such an awesome idea! I guess it’ll save us a lot of time from porting plugins from bukkit to sponge!

@Exstar @NathanG
Thanks, but keep in mind I do not own this project nor do I have any affiliation with it. I just posted it to keep you guys informed. :smiley:

As there would probably be some sort of performance his with running a bukkit plugin with spore, you’d want to get it updated to a native mod, or to switch to something else if possible if that plugin sin’t going to be updated for sponge. They would still have problems with licensing issues if they don’t write their own bukkit compatible api and just modify the current bukkit code to work for sponge.

@BungeeTheCookie Not if you use a remapper in your reflection system.

Ideally, the performance impact of Pore will be minimal, since it’s just acting as an abstraction layer between the two APIs. Regarding our approach: Pore includes the unmodified Bukkit API alongside its own implementation (as one would see in Craftbukkit) which translates the calls to something Sponge understands. Legally speaking, we’re in the clear, since Pore is under an MIT license (which is GPL compatible).

Somehow I doubt this would work for worldgen plugins even if they don’t use NMS/OBC.

Well the plan will hopefull be for pore to become unessesery as developers port their exsisting plugins over and new plugins are created.
Pore will just be really helpful at the start for easing the transition for server owners over.

1 Like

While community members are free to do as they please and work on whatever code they want, no offence but I find doing this to be pointless.

Once upon a time, Spout as a group ran a project called BukkitBridge, a plugin that was for the Spout engine + Vanilla plugin (Minecraft). The performance hit that incurred because of the differences between Spout/Vanilla and Bukkit’s API framework was massive. It just wasn’t feasible.

Now, Sponge is much more “Minecraft-like” than Spout/Vanilla was (seeing as it is using Minecraft itself). This means it is a LOT more simpler to port plugins over. By the time Pore ever has something really usable, you could port most plugins over.

Just my two cents.

1 Like

It would be awesome if someone would be able to create a program that ports it automatically to Sponge. Sadly this is not possible. :frowning:

1 Like

Aha! So this is why you’ve been writing so many miniscule posts of questionable quality. Now that you have a high forum post count that no one (but yourself) cares about, you will finally be able to contribute with valuable, new information and elaborate arguments in every thread you decide to post in. Let’s hope your bad habit hasn’t given your posts a reputation of “pointless, uninformative, and highly skippable” yet.

3 Likes

I agree on you. My posts have questionable quality. I will try to make my posts of more detail in the future. Thank you for the tip.

~ xxmarijnw

2 Likes

You just did exactly what @garbagemule described. Good job.

In that matter what did you just do?

Well because you guys are rashing off at me. Here is some useful information,
Because of the recent merge between Pore and Lapis Blue they are now building a variety of toolkits for instance Pore. Also they are moved from BitBucket to GitHub which you can find here. Also they have recently set-up a Maven to handle dependencies. You can find Maven 3 here.

The developers of pore is officially discontinuing pore.
Read more here

While Pore is discontinued, that’s not really a reason to necropst a year old thread.