Your Saturn provided plugin 'slug', this tells Saturn where to look for updates, and to automatically generate a link to your plugin page.
A slug is basically a unique ID for you! It stops plugins from clashing and causing nasty errors, it's also how PluginManager understands what plugin is this plugin.
Even if you change the name of your plugin, you slug won't change. It's permanent.
There are no examples - use your slug.
Name
The name key does what it says on the tin, it's the plugin's name!
Examples
✅Example
✅ My Cool Plugin!
❌ Plugin by John Doe
Plugins shouldn't contain your name, that's what the author section is for!
❌ Saturn Plugin
Plugins shouldn't contain "Saturn", we know it's for Saturn!
Description
Another easy one, it's a quick description for your plugin!
Examples
✅ This is a cool plugin that does cool stuff
❌ A plugin made by John Doe
Descriptions shouldn't contain your name, that's what the author section is for! The only exception is if you are required to give attribution for using libraries, etc (Libraries made by the Saturn team made for Saturn don't require attribution in plugins).
❌ A cool plugin for Saturn
Descriptions shouldn't contain "Saturn", we know it's for Saturn!
Author
This can be a single author, or a list. It tells the people using it who made it.
Examples
✅ ["John Doe"]
✅["John Doe", "Jane Doe"]
❌ ["www.johndoe.com"]
Plugins shouldn't contain URLs, we automatically generate links back to your Saturn Marketplace page in the Plugin Library!
❌ ["Anonymous"]
Tell us who you are! Use an Alias, anything!
❌ "John Doe"
Please put it in an array, even if it's only one value. I like arrays.
Version->Plugin
Your plugin version, that's up to you! It must only consist of numbers and periods. It's used whilst checking for plugin updates.
Examples
✅1
✅1.2
✅1.2.3
❌ 1.2-patch-1
This will confuse Saturn. Please don't confuse Saturn, it's trying it's best.
Version->Saturn
The version(s) of Saturn that your plugin is compatable with.
Examples
✅["1.0.0"]
❌ ["Saturn 1.0.0"]
This will confuse Saturn. Please don't confuse Saturn, it's trying it's best.
❌ "1.0.0"
Please put it in an array, even if it's only one value. We like arrays.
Dependencies
Does you plugin rely on another plugin to work? If so, this section is for you! If not, well you need it anyways.
Examples: My plugin has dependencies.
✅ ["Example"]
✅["Example", "ExampleTwo"]
❌ "Example"
Please put it in an array, even if it's only one value. We love arrays.
Examples: My plugin does not have dependencies.
✅[]
❌ ["None"]
Don't say that! Now Saturn is looking all over for a plugin called "None"
Conflicts
This section is for if you're aware of your plugin conflicting with another plugin, for example if you create a custom control panel plugin - you don't want users to use any others!
Examples: My plugin has conflicts.
✅ ["Example"]
✅["Example", "ExampleTwo"]
❌ "Example"
Please put it in an array, even if it's only one value. Saturn loves arrays.
Examples: My plugin does not have conflicts.
✅[]
❌ ["None"]
Don't say that! Now Saturn is looking all over for a plugin called "None"
Hibernate
Hibernate allows your plugin to only load when specific conditions are met, for more information please see #hibernate.
Examples: My plugin hibernates.
✅ ["/panel"]
✅["/panel", "/account"]
❌ "/panel"
Please put it in an array, even if it's only one value. Everyone loves arrays.
Examples: My plugin does not hibernate.
✅false
❌ ["None"]
Don't say that! Now Saturn is confused and won't load it until "None" is found!
Startup
The files that Saturn should load into the program. These files should have executable PHP outside of a class, Saturn doesn't load classes automatically.
Conventionally, you should only load one file which in turn loads and starts your plugin. But if you want to you can load more, it's up to you really - we don't care.