SmartYamlConfig
Tired of the buggy yaml config files of bukkit ? Accents that don't work at all and make everything plant ? And the mistake of placing a tabulation inadvertently ?
SmartYamlConfig (SYC) is an API for developers who always wanted to easily create and manage yaml configuration files for their plugins, with full UTF8 support (and ISO-8859-1 too) wich means that tabulations & accents are supported so you can let your french or spanish customers create their own string in your config file without the problem of partial UTF8 support / crash. You can ofcourse use UTF8 smileys in your config !
SYC implements 3 levels (class) to create & manage yaml config files :
Name | Description | |
---|---|---|
0 | YamlConfig | Only in memory (similar to basic bukkit yaml interface, but with full UTF8 & tabulations support. |
1 | YamlConfigFile | Inherit from YamlConfig and is attached to a specific file |
2 | SmartYamlConfig | YCF linked with the config.yml in your (plugin).jar and load / save intelligently the right config in the right file with a debug output in the console |
Each layer implement a lot of methods for create, load, manage, save ... yaml configs in addition to the basic functions of Bukkit and allows you to create one or more configuration files for your plugin super-easily with a better stability. You can choose between 3 encodings : UTF8 (by default, Universal, Unicode), ISO 8859-1 (Latin 1, Europe, ASCII) or US-ASCII for fun.
For Developers :
How to create a config file for your plugin with SmartYamlConfig :
- Open Eclipse and setup the JavaProject of your plugin.
- First you need to add .jar file of SYC in the dependencies of the Java project of your plugin.
- Next, add in you plugin.yml "depend: SmartYamlConfig".
- And finally, add some code like this [weblink expected]
For Users :
==== Installation ====
- Just pur the .jar file of SYC in the plugins directory of your server.
- Run your server !
==== Configuration ====
- All is directly explicated in the config file.
==== Commands ====
- configreload:
- usage : "/configreload <plugin>"'
- description: Reload configs of a plugin which use SYC API.
- aliases: [reloadconfig, reloadconf, confreload, configreload]
- permission: syc.reload.plugin
- configsave:
- usage : "/configsave <plugin>"'
- description: Save configs of a plugin which use SYC API.
- aliases: [saveconfig, saveconf, confsave, configsave]
- permission: syc.save.plugin
- configreloadall:
- usage : "/configreloadall"'
- description: Reload configs of every plugin wich use SYC API.
- aliases: [reloadallconfig, reloadallconfigs, reloadallconf, confreloadall, configreloadall]
- permission: syc.reload.all
- configsaveall:
- usage : "/configsaveall"'
- description: Save configs of every plugin wich use SYC API.
- aliases: [saveallconfig, saveallconfigs, saveallconf, confsaveall, configsaveall]
- permission: syc.save.all
==== Permissions ====
- syc.* : Gives Access To All SYC Commands.
- syc.save.* : Gives Access To All SYC Save Commands.
- syc.reload* : Gives Access To All SYC Reload Commands.
- syc.save.plugin : Gives Access To SYC ConfigSaveCommand.
- syc.save.all : Gives Access To SYC ConfigSaveAll Command.
- syc.reload.plugin : Gives Access To SYC ConfigReload Command.
- syc.reload.all : Gives Access To SYC ConfigReloadAll Command.
This project is very good, pen that was abandoned :P