Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update #1

Open
wants to merge 14 commits into
base: master
Choose a base branch
from
5 changes: 5 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
language: java
jdk:
- oraclejdk8
- oraclejdk9
- openjdk8
63 changes: 3 additions & 60 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,62 +1,5 @@
# Pokkit [![Build Status](https://circleci.com/gh/rutgerkok/Pokkit.svg?style=shield)](https://circleci.com/gh/rutgerkok/Pokkit/tree/master)
# Pokkit

The Minecraft multiplayer scene is fragmented. There are many competing server implementations. A popular server is [Spigot](http://www.spigotmc.org/). 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](https://forums.nukkit.io/). Unfortunately, plugins written for Spigot cannot run on Nukkit.
**Inactive. Please see the fork at [PetteriM1/Pokkit](https://github.com/PetteriM1/Pokkit).**

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](https://docs.google.com/spreadsheets/d/1afyyvkdQWyJO6bv1kzofrJxqniqlg28TKqr3YK6ouic/edit?usp=sharing). 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.

## For Spigot plugin developrs
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](./IMPL_EXAMPLES.md) on how I implemented the methods.

## Download and usage
Download the latest release [here](https://github.com/rutgerkok/Pokkit/releases). 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:

* A folder called `bukkitPlugins`: place any plugin written for Spigot in this folder.
* A file called `permissions.yml`: this is Bukkit's [permissions.yml file](http://wiki.bukkit.org/Permissions.yml).
* A file called `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.

## Compiling instructions
* Make sure you have installed [Maven](https://maven.apache.org/).
* Download a copy of the source code of Pokkit (use one of the buttons on this page).
* Then run `mvn install` in the directory containing the Pokkit source code.
* A JAR file will be placed in the newly created `target` directory.

## Bug reports
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
License is MIT, except for the files that were derived from the Bukkit project. See the [license](./LICENSE.md) file for details.

## Pull requests
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](./CONTRIBUTING.md). I hope to be able to add your name to the list below soon!

### Contributed code since 2017
* [Ankit](//github.com/AnkitM252)
* [Langsdorf](//github.com/Langsdorf)
* [MrPowerGamerBR](//github.com/MrPowerGamerBR)
* [NycuRO](//github.com/NycuRO)
* [PikyCZ](//github.com/PikyCZ)
* [RaynLegends](//github.com/RaynLegends)
* [Rutger Kok](//github.com/rutgerkok)
* [SuperAlecs](//github.com/SuperAlecs)

### Contributed code in 2016
* [daveboden](//github.com/daveboden)
* [Langsdorf](//github.com/Langsdorf)
* [MrPowerGamerBR](//github.com/MrPowerGamerBR)
* [OliverUv](//github.com/OliverUv)
* [Rutger Kok](//github.com/rutgerkok)
* [ZINGDING](//github.com/ZINGDING)
[Original README](https://github.com/rutgerkok/Pokkit/blob/7bd4b8872d2c60b3890db56aabf4778f5fce4581/README.md)
16 changes: 0 additions & 16 deletions circle.yml

This file was deleted.

16 changes: 8 additions & 8 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>nl.rutgerkok</groupId>
<artifactId>pokkit</artifactId>
<version>0.6-SNAPSHOT</version>
<artifactId>Pokkit</artifactId>
<version>0.7</version>
<name>Pokkit</name>
<description>Run Bukkit and Spigot plugins on Nukkit!</description>
<properties>
Expand All @@ -15,7 +15,7 @@
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.11.2-R0.1-SNAPSHOT</version>
<version>1.13.1-R0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
Expand All @@ -35,8 +35,8 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>17.0</version> <!-- Keep in sync with Spigot -->
<scope>compile</scope> <!-- Include this ourselves, Nukkit doesn't include it -->
<version>21.0</version> <!-- Keep in sync with Spigot -->
<scope>provided</scope> <!-- Don't include in Pokkit JAR, Nukkit also includes Guava -->
</dependency>
<dependency>
<groupId>junit</groupId>
Expand All @@ -54,8 +54,8 @@
</dependencies>
<repositories>
<repository>
<id>nukkit-repo</id>
<url>http://ci.regularbox.com/plugin/repository/everything/</url>
<id>nukkitx</id>
<url>https://repo.nukkitx.com/main/</url>
</repository>
<repository>
<id>spigot-repo</id>
Expand Down Expand Up @@ -119,4 +119,4 @@
</resource>
</resources>
</build>
</project>
</project>
Loading