Getting started with redacting a Wiki :D

Florian CUNY 2017-12-12 15:52:08 +01:00
parent b6a7f0c482
commit 3f8b734ee9

@ -1,5 +1,70 @@
just go to google.com and type "i'm lucky"
# **Table of Contents**
TODO
# test
***
# another test
## What are Addons?
Addons are for BSkyBlock (also known as the "core") what plugins are for Bukkit. They bring new features, they change some behaviours of the core functionnalities and, most important, they act like bricks server owners can put together the way they want in order to customize their experience with BSkyBlock. And therefore create an entirely different Skyblock plugin, based on ours!
Addons are fully managed by BSkyBlock. [TODO: explain they're not counted as plugins, that they're stored in addons folder, and they are the only files having "access" to BSkyBlock's main class.]
## Create your first addon
Creating an addon for BSkyBlock is far as simple as creating a plugin. And it's even easier, thanks to the results of our numerous tests to design an efficient, complete and easy-to-understand API.
### Setup your environment
[TODO: explain how to use maven and how to setup it to have both Bukkit and BSkyBlock as dependency]
[TODO: and tell to create an addon.yml and a main class]
### Setup your addon
Now that you've setupped a basic addon architecture, it's time to make the files that'll make it run !
#### Fill in the addon.yml file correctly
[More informations about addon.yml file here. TODO: the page ^^]
An accurately completed addon.yml file serves as a guarantee for a correctly loaded addon.
In order for BSkyBlock to load your addon, _**addon.yml must be located at the root of the jar file**_, and _**must be filled at least with the following information**_ :
```yaml
main: path.to.your.main.class.MyClass
name: NameOfYourAddon
version: theversion
```
Failing to include any of these items will cause BSkyBlock to not load your addon and to mark it as "INVALID_DESCRIPTION".
#### Setup your main class
Your main class must extend `BSAddon`. Once done, you should have a class looking like this one :
```java
package bskyblock.addon;
import us.tastybento.bskyblock.api.addons.BSAddon;
public class MyAddon extends BSAddon {
@Override
public void load() {
}
@Override
public void enable() {
}
@Override
public void disable() {
}
@Override
public void reload() {
}
}
```