The Minecraft multiplayer scene is fragmented. There are many competing server implementations. A popular server is Spigot. Spigot is able to load plugins, which can interact with Minecraft through the Spigot Plugin API. For Minecraft Pocket Edition, the mobile version of Minecraft, a server with a plugin API similar to Spigot exists: Nukkit. Unfortunately, plugins written for Spigot cannot run on Nukkit.
Pokkit is a translation layer that allows plugins written for Spigot to work on Nukkit. However, it is far from perfect. Because of the size of the Spigot API, it is not possible for me to implement all of the Spigot API.
Do not expect that Pokkit allows you to run a random Spigot plugin on Nukkit. Pokkit is still very incomplete, so only a handful of plugins will work. A list of plugins that are confirmed to work or not to work can be found on Google Docs. You are encouraged to edit this list yourself if you have found a Spigot plugin that works or doesn't work.
My motivation for creating Pokkit was to allow some plugins that I use to work on Nukkit. I am not trying to write a complete implementation of the Spigot API myself. This would be impossible. Keep in mind that Spigot was created over the span of five years by hundreds of different programmers.
If you are a Spigot plugin developer looking to port your plugin, Pokkit may be very interesting to you. Instead of maintaining two code bases, or introducing large amounts of abstraction into your codebase, you can simply keep using the Spigot API.
While testing your plugin, you will most likely come accross an unimplemented method or event. You are encouraged to implement these methods and events, and to submit your changes as a pull request. This will bring us closer to a complete implementation of the Spigot API.
To get started writing code for Pokkit, I have created a file with examples on how I implemented the methods.
Download the latest release here. Install Pokkit like you would install any Nukkit plugin: place the JAR file in the plugins
directory of your Nukkit server. Start your server, then stop it again. You'll notice that a new folder has been created inside the plugins
directory: a folder called Pokkit
. Open this folder. Inside the folder, there a three things:
bukkitPlugins
: place any plugin written for Spigot in this folder.permissions.yml
: this is Bukkit's permissions.yml file.scoreboard.yml
: scoreboard data is saved here.It is important to remember that you must install Bukkit plugins in the plugins/Pokkit/bukkitPlugins/
directory, and not in the plugins/
directory.
mvn install
in the directory containing the Pokkit source code.target
directory.In general, I will only fix a bug for you if happens to also affect me. Pokkit is a personal project that I uploaded in the hope that it will be useful to others, but I'm not willing to spend the time to create a complete, bug-free implementation of the Spigot API. See my reasoning in the introduction.
Still, I will leave open all valid bug reports, so that anyone interested in improving Pokkit can have a look.
License is MIT, except for the files that were derived from the Bukkit project. See the license file for details.
Contributions are very much welcomed. If you have any questions, feel free to send me an e-mail (address is on my Github profile).
Before you start, please read the contribution guidelines. I hope to be able to add your name to the list below soon!