HomeJavaModsDecrees of the Six

Decrees of the Six

A Fabric server-side governance, voting, lightweight economy, and guild system designed for council-style roleplay servers.
The Hexarchate (or any council you define) can create, debate, and vote on decrees in-game, with automatic quorum/majority handling, a season history log, an optional multi-tier currency (Gold/Silver/Copper by default), and player guilds with shared treasuries.

Current version: 0.2.1 (Minecraft 1.21.1, Fabric)


Features


Economy / Money System


Guilds & Vox Imperion

The guild system is fully server-side and uses the same economy backend. Guilds are stored persistently in a world data file managed by the mod (not meant to be edited manually).

Guild Basics

Guild Ranks & Titles

Internal permission roles:

Each role can have a guild-specific title, set by the guild leader, for flavour/RP. Internally, permissions are based on the roles; titles are just display.


Requirements

This is primarily a server-side mod. Clients do not need to install it to use /decrees, /money, or /guild commands.
Installing the mod on the client is optional but enables the G-key “Hexarchate Panel” screen.


Installation (Server Owners)

  1. Build or download the mod JAR (usually in build/libs/).

  2. Place the JAR into your server's mods/ folder.

  3. Start the server once to generate default config files.

  4. Edit the config files under:

    config/decrees_of_the_six/council.json
    config/decrees_of_the_six/voting_rules.json
    config/decrees_of_the_six/economy_config.json
    
  5. Use /decrees reload and /economy reload in-game (as an op) after editing configs, or restart the server.

Guild and economy data stores (accounts, transactions, guilds) are managed automatically by the mod and saved on server shutdown. They should not be edited by hand.


Configuration

1. council.json

Defines global flags, the council name, ceremony sound, and council seats.

Example:

{
  "councilName": "Hexarchate of Salmon",
  "decreesEnabled": true,
  "opsOnly": false,
  "ceremonySound": "decrees_of_the_six:council_chime",
  "seats": [
    {
      "id": "overseer_regent",
      "displayName": "Overseer-Regent"
    }
  ]
}

Fields:

You typically assign seat holders in-game using /decrees seat set instead of editing holderUuid by hand.

/decrees council create <name> will:

  • Set councilName to <name>,
  • Force decreesEnabled = true,
  • Force opsOnly = false.

2. voting_rules.json

Controls how votes are evaluated.

Example:

{
  "minQuorumPercent": 60,
  "votingDurationMinutes": 30,
  "majorityMode": "SIMPLE",
  "tiesPass": false
}

Fields:


3. Decree History Log

Finalised decrees (status becomes ENACTED, REJECTED, or CANCELLED) are appended to a history log, e.g.:

config/decrees_of_the_six/decrees_history.log

The log typically includes:

This is meant for season records / lore.


4. economy_config.json

Controls how the currency behaves and how amounts are displayed.

Example:

{
  "enabled": true,
  "currencyName": "Scales",
  "goldName": "Gold",
  "silverName": "Silver",
  "copperName": "Copper",
  "copperPerSilver": 10,
  "copperPerGold": 100
}

Fields (high level):

Economy data (accounts + transactions + guild Treasuries) is stored in a separate JSON file (e.g. economy_store.json) next to your other Decrees config. It is not meant to be edited by hand.


How Council Seats Work

Seats are defined in council.json under "seats".

Seats are used to:

  1. Determine who may create/open/delete decrees.
  2. Determine who may vote (each seat = one vote).
  3. Show “your vote” in /decrees decree list active.
  4. Drive join reminders and “one vote left” pings.

Managing Seats (Ops Only)

All seat management commands are op-only:


Decree Lifecycle (Council Workflow)

Typical flow for a council session:

  1. Create a decree (DRAFT)
    A council member runs:

    /decrees decree create <title>
    

    This creates a new decree in DRAFT status, linked to their seat.

  2. Edit details (optional but recommended)

    /decrees decree edit title <id> <new_title>
    /decrees decree edit description <id> <text>
    /decrees decree edit category <id> <category>
    /decrees decree edit expiry <id> none
    /decrees decree edit expiry <id> <days>
    
  3. Open for voting (VOTING)

    /decrees decree open <id>
    
    • Starts the voting timer (votingDurationMinutes) if configured.
    • Notifies council members, including clickable [Yes] [No] [Abstain] buttons in chat.
  4. Council votes
    Each council seat holder uses:

    /decrees vote <id> yes
    /decrees vote <id> no
    /decrees vote <id> abstain
    

    or clicks the vote buttons to prefill the vote command.

  5. Automatic resolution

    When:

    • Quorum is reached and
    • All active seats have voted or voting time has expired,

    the system automatically sets the decree to ENACTED, REJECTED, or (if forced) CANCELLED according to the rules in voting_rules.json, then logs the change and notifies the council.

  6. Review results / history

    • /decrees decree results <id> – detailed counts, quorum info, timer state.
    • History log in decrees_history.log for permanent record.
    • /decrees history [page] for an in-game, paginated history view.

Council Ceremony & Reminders

Council Ceremony

This command:

Use this once per season when the council is founded, or again if you want to ceremonially “re-convene” it after changes.

Join Reminder & One-Vote-Remaining Ping


Commands Overview

1. Root


2. Council Ceremony


3. Seats (Ops Only)


4. Decree Management


5. Voting


6. Economy & Money

Player-facing commands:

Admin / treasury commands:

Economy meta:


7. Guilds & Vox Imperion

Player guild commands:

Admin / Vox Imperion commands:

Vox commands are bound to the Vox Imperion council seat via the council permission system (with an op fallback).


Permissions Summary

Ops:

Council members (players who hold a seat):

Guild members:

Regular players:

If decreesEnabled is false, mutating decree commands are blocked even for ops
(except /decrees reload and /decrees decree force).
If economy_config.enabled is false, all money and guild Treasury commands will refuse to run.


Versioning & Changelog

This mod uses semantic versioning.
See CHANGELOG.md for a detailed list of changes per version.


License

Decrees of the Six is licensed under the MIT License.
See LICENSE for full details.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more