Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ngasull/well-core
Well done plugins core for your Minecraft server
https://github.com/ngasull/well-core
Last synced: 5 days ago
JSON representation
Well done plugins core for your Minecraft server
- Host: GitHub
- URL: https://github.com/ngasull/well-core
- Owner: ngasull
- License: gpl-3.0
- Created: 2014-07-05T00:56:38.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2014-07-27T22:03:43.000Z (over 10 years ago)
- Last Synced: 2024-11-05T21:15:26.992Z (about 2 months ago)
- Language: Java
- Size: 371 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
well-core
=========*Well done plugins core for your Minecraft server*
This plugin contains core components of "well-" plugins suite. Doesn't do anything by itself.
### Hello, I'm required!
Please include well-core if you want to use at least one of the following plugins:
* [well-auction](http://dev.bukkit.org/bukkit-plugins/well-auction/)
## Features
### Easy plugin resources system
If you provide a default config resource file to your users, and you'd like them to have this file in their data folder and like it to have at least all the (required) keys you specified, `WellConfig` will be your best friend.
At first, on first plugin run, `WellConfig` will copy your resource file (which has to be UTF-8 encoded) in data folder with system's default encoding. This will avoid encoding issues. On next runs, every required key will be checked from user's file and filled in if missing.
### Localization
Please welcome `WellLanguageConfig`, who is `WellConfig`'s cute little daughter. She will user `lang/.yml` file in user's data folder to get localization keys, and use it to fetch messages.
She can colorize them in red/yellow/green if you fetch messages with `error`, `warn` or `success` methods.
Obviously, she will has `WellConfig` benefits, filling missing values from your default conf if necessary.
Additionally, if she doesn't find requested language key, she will fallback into english configuration and attempt to find the message there.
### Permissions
`WellPermissionManager` will make permissions simple.
For example, if you ask him whether a `player` can `build on the ocean` but `permission` isn't granted to this player, `WellPermissionManager` will throw a `WellPermissionException` and send `player` the following (localized) notification:
*You're not allowed to build on the ocean.*Quite simple, right?
### Yet advanced but simplified database system
Still using `bukkit.yml`'s database credentials (later plugin-specifically configurable), `WellDatabase` wraps Bukkit's database manager and makes it stronger: no more crashes on `/reload`, no more problems with SQLite and `@Entity` relationships, future optimizations to come!
This one makes use of [LennardF1989's MyDatabase](https://forums.bukkit.org/threads/bukkit-persistance-reimplemented-no-code-changes-required.24987/), special thanks to him!
### Database and plugin versions
A plugin can evolve, and this often goes with database changes. This said, you can't expect users to drop their database then let your plugin build it again.
Here comes `WellDao`: just make a Dao for your plugin that will extend `WellDao`. Override `handleVersionChanges` which will handle version changes (surprise!). Then you'll then be able to use `checkVersion` based on you're plugin's version, which will check well-core's database last registered version of your plugin.
### All for now ;)