Skip to content

What is Kelp?

PXAV edited this page Jan 2, 2021 · 1 revision

What is Kelp?

Kelp is a framework based on spigot-server technology. Its aim is to minimize the maintenance costs of server plugins by providing version-independent methods and utils. A plugin can be compatible with all server versions from 1.8 to 1.16, while the code-base remains untouched. This leads to the following main advantages:

  • Focus on the more important things: Players and Users of your plugins want a bug-free experience and a constant increase in new and innovative features. By handling all version maintenance stuff for you, Kelp lets you focus on meeting those expectations and work more time-efficient.
  • Increase creativity: You don't have to think about how you populate and update inventories or sidebars anymore. Kelp gives you direct access to powerful and straight-forward tools allowing you to write more readable code in less time and with less boilerplate.

How does it work?

The exact mechanism of handling the version modules and templates is rather complex if you don't have that much experience in Java or Spigot development, so we are going to keep it short and simple. But if you are still interested though, we recommend you to read through this wiki article explaining how Kelp works under the hood.

Unlike the default Spigot/Bukkit Server API, Kelp is built modularly, which means that the Core API accessed by developers is free of any version dependent code that could change over time. It consists of abstract templates, which are implemented by version modules. Those are installed separately by the server owner depending on which version they want to run the server on. So kelp loads this version module and the Core API now knows which exact code to execute for specific operations.

Kelp is therefore not a dedicated server software, but rather a plugin developed on top of bukkit. But it is compatible with many custom servers such as PaperMC.

How can I use it?

Kelp is maintained by pxav and the open-source community and licensed under the MIT license. That means it is completely free to use - for both private and commercial projects. You may legally distribute Kelp Source Code (when you shade specific code into your jar for example) if you do not change the license or claim it as your own property.

  • Using Kelp as server owner: You can find a guide on how to install and use Kelp as a server owner here and information about how it should be maintained on your server (update policy, etc.)
  • Integrating Kelp into your plugin: Here is a more detailed guide on how to use Kelp as a developer and writing plugins based on the Kelp framework.
  • Kelp for commercial projects: Commercial Plugins (plugins that are sold or run on servers generating profit) may be developed using Kelp. But Kelp may not be distributed with this commercial license, but the developer should provide an official download link (to GitHub) to the final user.
Clone this wiki locally