2 minutes estimated read time

Platforms

Vital is a multiplatform framework, which means that you can use Vital to create plugins for multiple platforms without having to configure anything special.
Each platform, like Spigot, Paper or BungeeCord needs special treatment when it comes to implementing specific things like commands, etc.

To make this as easy as possible for you, Vital does all the heavy lifting for you.
The only thing you need to worry about is, first, setting your desired platform in your main class.

MyPlugin.java
@VitalPlugin.Info(
  name = "myplugin",
  description = "myplugin description",
  version = "1.0.0",
  apiVersion = "1.21"
)
// .Spigot can also be .Paper or .Bungee
public class MyPlugin extends VitalPlugin.Spigot {}

This is required because different platforms may generate a differently structured or named plugin.yml file (or none at all).

Features that are available on multiple platforms will always have a subclass for its platform.
E.g., if you want to create a command for Spigot or Paper, you must always use VitalCommand.Spigot, if you want to create a command for BungeeCord, you must use VitalCommand.Bungee.

Extend the above-mentioned classes like so.

MyCommand.java
public class MyCommand extends VitalCommand.Spigot {
  
}

Vital is specifically designed to handle all the heavy lifting, so you only need to tell it what platform you want to use, the rest happens automatically.

This is important, you do NOT need to change any of your actual code for your commands, etc. So if you already have a command and suddenly now want to change its platform,
go ahead, change its VitalCommand.Spigot class to VitalCommand.Bungee class, everything will still work.

Found an issue?

Help us improve the documentation by reporting typos, missing information, or anything confusing.

Don't worry, we will auto-fill most of the annoying fields.

Create GitHub issue

This site and the Vital framework were built with ❤️ by Mike Neumann