FMeria is a Bukkit/Paper (Minecraft) plugin implementing a faction/government roleplay system: ranks, salaries, home teleport, invites, blacklists, an in-game "law book" GUI, and PlaceholderAPI placeholders.
This is my first Java project ever. I started writing it back in June 2021, and it's stuck with me since then.
- Grab a built jar (see Building from source, or a release if one is published) and drop it into your server's
plugins/folder. - FMeria requires Vault for the economy features (
/fbalance,/setsalary, payday) to work, plus any Vault-compatible economy plugin. - PlaceholderAPI is optional. If it's installed, FMeria registers its own placeholder expansion automatically.
- Start the server once to let the plugin generate
config.ymlandmessages.ymlunderplugins/FMeria/, then edit them to taste and run/fmeria reload(requiresfmeria.reload).
Requires Java 8+ and a Paper (or Spigot-API-compatible) server targeting API version 1.13.
./gradlew build # compiles and produces a shaded jar under build/libs
./gradlew shadowJar # build the fat jar directly
There are no tests or lint/format tooling in this repository.
Most commands aren't gated by a Bukkit permission node at all. They're guarded instead by faction membership and rank checks (must be in a faction, must be top-3 rank, and so on). Only four commands declare an explicit permission node; those are noted below. Everything else is available to any faction member subject to those in-game rank checks.
| Faction | Law | Invite | Economy | Communication | Admin | Misc |
|---|---|---|---|---|---|---|
/fcreate <id> <name> (fmeria.fcreate) |
/law list |
/invite <target> |
/fbalance |
/d <message> |
/fmeria reload (fmeria.reload) |
/fhelp |
/setrank <target> <faction> <rank> (fmeria.setrank) |
/law setcategory <id> <name> |
/inv accept |
/fbalance money pay|take <amount> |
/gov <message> |
/hp <target> |
|
/franks <faction> <ranks...> (fmeria.franks) |
/law delcategory <id> |
/inv decline |
/setsalary <rank> <salary> |
/rb <message> |
||
/downrang <target> |
/law set <categoryId> <lawId> <name> |
/rr <message> |
||||
/uprang <target> |
/law del <categoryId> <lawId> |
|||||
/fblock <target> |
/law settime <categoryId> <lawId> <minutes> |
|||||
/funblock <target> |
||||||
/fvig <target> |
||||||
/funvig <target> |
||||||
/uninvite <target> |
||||||
/fhome |
||||||
/setfhome |
||||||
/f leave |
||||||
/fonline |
||||||
/setfname <"name"|rank#> <text> |
||||||
/leaders |
||||||
/makeleader <target> / /makeleader - |
Notes:
/law's write subcommands (setcategory,delcategory,set,del,settime) additionally require the executor to be a top-ranked member of the "Meria" faction.listis open to everyone./dand/govrequire top-3-rank;/govadditionally requires the executor's faction be flagged as a government faction./hprequires the executor's faction be flagged as a hospital faction.
Contributions are welcome. Please follow Conventional Commits for commit messages (feat:, fix:, refactor:, chore:, etc.) so the history stays readable.
Dual-licensed under either of
at your option.