Skip to main content
Dan's Plugins Community
HomeNewsGuidesLeaderboardAboutRoad MapCommissionsDev PortalAccount
All plugins
Fiefs icon

Fiefs

0

Latest: v0.13.1
339 downloads on GitHub
Tested on Minecraft 1.16–1.18
469 downloads on SpigotMC

First released September 7, 2021 · Last updated October 13, 2026

Downloads from this site

127 total

9 latest (v0.13.1)

Allows players to create fiefs and manage them.

Requires Medieval Factions

factions
medieval
DownloadUser guideSourceSpigotMC
A recreated chat panel: every line is the plugin’s real output, captured from commands a bot player ran on a test server.

Usage

Last reported in use 11 days ago

2 server starts in the last 30 days

Server starts per day

Versions in use, by share of server starts

  • 0.12.1

    100% · 2 starts

Usage reported by trace — how it works. CI and test servers are excluded.

Usage of every plugin


Verified before release

Version 0.13.1 was started on real servers running Minecraft 1.19.4, 1.21.11, 26.2 and 26.3 before it was published. The jar you download is the exact one that passed. How releases work

Versions

All releases on GitHub
Development build
Pre-release
October 13, 2026· 17 downloads

Automated build of main at 85e289bd765acec0351f81014bce709ff8b6e2a5.

This is not a release. It is unreleased, unreviewed code that has not been through any release check, and a broken build can stop a server from starting. Do not run it on a server you care about without a backup.

Install it with Dan's Plugin Manager:

/dpm get fiefs --experimental

Return to published releases with /dpm get fiefs --stable.

Fiefs-0.13.2-SNAPSHOT.jar (614.8 KB)

0.13.1

For a server running v0.13.0, this is a drop-in maintenance release. Gameplay, commands, permissions, config keys and stored data are unchanged, and usage reporting sends the same information and respects the same opt-out switches as before.

Changes

Usage reporting

  • Updated the bundled usage-reporting client to version 0.6.1. What Fiefs reports and how it decides whether to report are unchanged.
  • The usage-reporting details link now points to https://danielstephenson.dev/usage-reporting. The new link appears in the startup log message, the comment in config.yml and the header of a newly created plugins/trace/config.yml. An existing plugins/trace/config.yml is left as it is.

Version

v0.13.0 → 0.13.1 — PATCH. Mechanical floor from comparing the two jars: PATCH. Judgment: The only code change updates the bundled trace usage-reporting client from 0.5.0 to 0.6.1. That update adds an installIdFile option and an installIdFromFile helper, but Fiefs calls neither, so the plugin still reports the same data, resolves the same server ID and honours the same opt-outs. The other changes only replace the 'details' link in a config comment, in a log message and in the header of a newly created plugins/trace/config.yml. No data format, command, config key, permission or plugin behaviour changes, so the patch floor stands.

  • no interface or storage difference observed between the jars

<details><summary>Java API changes (informational — nothing depends on this plugin)</summary>

  • dansplugins.fiefs.trace.TraceClient: added public static java.lang.String installIdFromFile(java.io.File);
  • dansplugins.fiefs.trace.TraceClient$Builder: added public dansplugins.fiefs.trace.TraceClient$Builder installIdFile(java.io.File);

</details>

Verification

Verified on a real Spigot server before publication; this release carries the exact jar that was verified.

  • boot gate run: booted twice on a fresh Spigot server running Minecraft 1.19.4 (11 assertions passed).
  • boot gate run: booted twice on a fresh Spigot server running Minecraft 1.21.11 (11 assertions passed).
  • boot gate run: booted twice on a fresh Spigot server running Minecraft 26.2 (11 assertions passed).
  • boot gate run: booted twice on a fresh Spigot server running Minecraft 26.3 (11 assertions passed).
  • save-compatibility gate run: data written by v0.13.0 was loaded by this release across two restarts with nothing lost (16 assertions passed).

Install with Dan's Plugin Manager: /dpm get <plugin>. How stable releases are made: Release channels.


drafted by Claude on behalf of Daniel Stephenson

0.13.0

For a server running v0.12.1, this is a drop-in upgrade with no config or data changes required. Players now get told why fief protection blocked them, /fi info with no argument works again, and Minecraft 26.3 is supported. If usage reporting is on, the plugin now adds a random server ID to plugins/trace/config.yml and sends it with its usage events. The ID identifies no player, account or IP address.

Changes

Gameplay

  • When fief protection blocks breaking, placing, interacting, using buckets or handling item frames and hanging entities, the player is now told which fief owns the land. To avoid chat spam, each player gets the message at most once every two seconds (#210).
  • /fi info with no argument now shows your own fief, as the help text says. Before, it did nothing. When run from the console, it now says only players can use it (#208).

Compatibility

  • Added support for Minecraft 26.3 (#206).

Usage reporting

  • If usage reporting is enabled, the first start adds a random server-id line to plugins/trace/config.yml, and every usage event carries that ID so distinct servers can be counted. The startup message and the comments in config.yml now mention it (#204, #205). If reporting is turned off, nothing is generated or written. Delete the line to get a new ID.

Commands

  • /fi config set no longer gives special double-quote handling to denyUsageMessage and denyCreationMessage. Neither was ever a real config option, so the change has no practical effect (#202).

Version

v0.12.1 → 0.13.0 — MINOR. Mechanical floor from comparing the two jars: PATCH. Judgment: This release adds new behaviour that the mechanical check only partly sees. Players now get a chat message when fief protection blocks an action (#210). On its first enabled start, the plugin also writes a new server-id line to plugins/trace/config.yml and sends it with every usage event (#204), which counts as new data written. Nothing existing breaks: no data format, permission or meaningful config key changes, and the dropped denyUsageMessage/denyCreationMessage parsing (#202) applied to names that were never real config options. Minor is enough; major isn't warranted.

  • no interface or storage difference observed between the jars

<details><summary>Java API changes (informational — nothing depends on this plugin)</summary>

  • public class added: dansplugins.fiefs.listeners.RefusalNotifier
  • dansplugins.fiefs.trace.TraceClient: added public java.lang.String installId();
  • dansplugins.fiefs.trace.TraceClient$Builder: added public dansplugins.fiefs.trace.TraceClient$Builder installId(java.lang.String);

</details>

Verification

Verified on a real Spigot server before publication; this release carries the exact jar that was verified.

  • boot gate run: booted twice on a fresh Spigot server running Minecraft 1.19.4 (11 assertions passed).
  • boot gate run: booted twice on a fresh Spigot server running Minecraft 1.21.11 (11 assertions passed).
  • boot gate run: booted twice on a fresh Spigot server running Minecraft 26.2 (11 assertions passed).
  • boot gate run: booted twice on a fresh Spigot server running Minecraft 26.3 (11 assertions passed).
  • save-compatibility gate run: data written by v0.12.1 was loaded by this release across two restarts with nothing lost (16 assertions passed).

Install with Dan's Plugin Manager: /dpm get <plugin>. How stable releases are made: Release channels.


drafted by Claude on behalf of Daniel Stephenson

0.12.1

This is a small, drop-in update for servers running v0.12.0. It fixes /fi help so that it shows the first help page when no page number is given. It also makes a minor change to usage reporting: every event now includes the plugin version. Commands, permissions, configuration and saved fief data are unchanged.

Changes

Commands

  • /fi help with no page number now shows the first page of help. Before, it printed nothing. (#195)

Usage reporting

  • Every usage event now includes the plugin version, including the event sent when a command is used. Before, only the startup event included it. No information about players or the server is added, and the existing opt-outs (usage-reporting.enabled, the server-wide plugins/trace/config.yml, and the TRACE_USAGE_REPORTING / DO_NOT_TRACK environment variables) work the same as before. The explanation in the default config.yml has been updated to match. (#196)

Version

v0.12.0 → 0.12.1 — PATCH. Mechanical floor from comparing the two jars: PATCH. Judgment: The mechanical floor of patch stays. This release has one user-facing bug fix: /fi help with no page number used to print nothing and now shows page 1. It also changes what usage reports contain: command events now carry the plugin version, which startup events already sent, so no new kind of information leaves the server and no on-disk data, config key, permission or command argument changes. The TraceClient.builder signature change is in the plugin's own bundled copy of the reporting client, which other plugins aren't expected to use, so it doesn't justify a major bump. #198 only adds tests.

  • no interface or storage difference observed between the jars

<details><summary>Java API changes (informational — nothing depends on this plugin)</summary>

  • dansplugins.fiefs.trace.TraceClient: removed/changed public static dansplugins.fiefs.trace.TraceClient$Builder builder(java.lang.String, java.lang.String);
  • dansplugins.fiefs.trace.TraceClient: added public static dansplugins.fiefs.trace.TraceClient$Builder builder(java.lang.String, java.lang.String, java.lang.String);

</details>

Verification

Verified on a real Spigot server before publication; this release carries the exact jar that was verified.

  • boot gate run: booted twice on a fresh Spigot server running Minecraft 1.19.4 (11 assertions passed).
  • boot gate run: booted twice on a fresh Spigot server running Minecraft 1.21.11 (11 assertions passed).
  • boot gate run: booted twice on a fresh Spigot server running Minecraft 26.2 (11 assertions passed).
  • save-compatibility gate run: data written by v0.12.0 was loaded by this release across two restarts with nothing lost (16 assertions passed).

Install with Dan's Plugin Manager: /dpm get <plugin>. How stable releases are made: Release channels.


drafted by Claude on behalf of Daniel Stephenson

0.12.0

Fiefs is a Bukkit/Spigot plugin for servers that run Medieval Factions. It lets faction members create smaller sub-territories called fiefs inside their faction. A fief has its own members, description and flags, and can claim chunks of land. Players can invite others to a fief, transfer ownership of it, and look up which fief a player belongs to. A fief is disbanded if its owner leaves the faction. Install it if your server already uses Medieval Factions and you want a layer of land and membership below the faction.

What it adds

  • /fiefs (alias /fi). With no arguments it shows the plugin's version and a pointer to help (fiefs.default).
  • /fi help: paged list of commands (fiefs.help).
  • /fi list: list the fiefs in your faction (fiefs.list).
  • /fi create: create a fief (fiefs.create).
  • /fi disband: disband your fief (fiefs.disband).
  • /fi claim / /fi unclaim: claim or unclaim the chunk you are standing in for your fief (fiefs.claim, fiefs.unclaim).
  • /fi checkclaim: see which fief owns the current chunk (fiefs.checkclaim).
  • /fi info: show details of your fief or another fief in your faction (fiefs.info).
  • /fi invite, /fi join, /fi leave: manage fief membership (fiefs.invite, fiefs.join, fiefs.leave).
  • /fi members: list a fief's members (fiefs.members).
  • /fi desc: set the fief description, given in double quotes (fiefs.desc).
  • /fi kick: remove a member (fiefs.kick).
  • /fi transfer: hand ownership to another member (fiefs.transfer).
  • /fi rename: rename a fief (fiefs.rename).
  • /fi flags: view and set fief flags (fiefs.flags).
  • /fi whois: find out which fief a player belongs to (fiefs.whois).
  • /fi config: view and change plugin settings in game (fiefs.config, op only).
  • All permissions except fiefs.config are granted to every player by default.
  • Config (plugins/Fiefs/config.yml): on first run the plugin writes debugMode, limitLand and enableTerritoryAlerts here, along with its version.
  • Usage reporting (on by default): usage-reporting.enabled, usage-reporting.endpoint and usage-reporting.key. When the plugin enables, and each time one of its commands is used, it sends the plugin name, the plugin version or the command name to https://trace.danielstephenson.dev. Nothing about players or the server is sent. Sending happens off the main thread. Every startup logs whether reporting is on.
    • To turn it off for Fiefs, set usage-reporting.enabled: false or run /fi config set usage-reporting.enabled false.
    • To turn it off for every plugin that reports to trace, set enabled: false in plugins/trace/config.yml.
    • Setting either environment variable TRACE_USAGE_REPORTING=off or DO_NOT_TRACK=1 also turns it off.
  • The plugin also sends bStats metrics (plugin ID 12743). This follows your server's normal bStats settings.

What it writes

  • plugins/Fiefs/config.yml: the settings above.
  • plugins/Fiefs/fiefs.json: fiefs, their members, descriptions and flags.
  • plugins/Fiefs/claimedChunks.json: chunks claimed by fiefs.
  • Data is saved automatically on a schedule and when the server shuts down. If either data file can't be read at startup, the plugin treats the load as failed and won't save over the file.
  • plugins/trace/config.yml: the server-wide usage-reporting switch. It is created only if no other plugin that reports to trace has created it already.

Requirements

  • A Bukkit/Spigot server supporting API version 1.13 or newer (api-version: 1.13).
  • Medieval Factions (hard dependency). This release is built against Medieval Factions 5.7.2. If Medieval Factions isn't available, Fiefs logs that it can't enable and does nothing else.

Since the last prerelease

  • Usage events are now reported to trace off the main thread, and the plugin has a per-plugin opt-out (#183).
  • Every startup now says whether usage reporting is on. A server-wide opt-out was added in plugins/trace/config.yml. Existing configs get the usage-reporting block written to disk so the switch is visible (#185).
  • Fiefs now looks up Medieval Factions when the plugin enables rather than when it is first loaded. This fixes cases where Medieval Factions wasn't found (#190).

Verification

Verified on a real Spigot server before publication; this release carries the exact jar that was verified.

  • boot gate run: booted twice on a fresh Spigot server running Minecraft 1.19.4 (11 assertions passed).
  • boot gate run: booted twice on a fresh Spigot server running Minecraft 1.21.11 (11 assertions passed).
  • boot gate run: booted twice on a fresh Spigot server running Minecraft 26.2 (11 assertions passed).

Install with Dan's Plugin Manager: /dpm get <plugin>. How stable releases are made: Release channels.


drafted by Claude on behalf of Daniel Stephenson

Snapshot release marking Fiefs's move to an AI-first development approach.

Day-to-day feature work, grooming, review and maintenance now run through AI agents working directly against this repository, with the maintainers setting direction and approving what lands. The version bump marks that change in how the project is built — it is not a compatibility break. Behaviour, configuration and stored data are unchanged, and existing installations can upgrade in place.

This is a dated snapshot, not a finished release. It follows the precedent set by Medieval Factions' 6.0.0-SNAPSHOT-7-25-2026: the AI-first line has not yet been verified in live operation, and the snapshot designation stays until it has.

Version changes

  • pom.xml: 0.11.0-SNAPSHOT → 0.12.0-SNAPSHOT-8-8-2026

Opened as https://github.com/Dans-Plugins/Fiefs/pull/166.


Drafted by Claude on behalf of Daniel Stephenson.

Changes in Fiefs v0.10

This version of the plugin has been integrated with the Ponder library and some errors have been fixed.

This alpha version of the plugin should work with Medieval Factions v4.6.2.

Changes in Fiefs v0.9

  • Fixed null error occurring when a player interacted with an entity while in unclaimed land.
  • Implemented an autosave feature.
  • Created a Logger class to clean up the code related to debug messages.
  • Added the /fi config command.

Changes in Fiefs v0.8

  • Created an external API for developers to use.
  • If a faction has disabled fiefs, their members will be disallowed from using most of the commands.
  • Fixed players not being recognized as a member of a fief when they were in a fief.
  • Added descriptions to the command listed in the output of the help command.
  • Added a config option for whether or not territory alerts are enabled.

Utilized on Kingdom: Dark Ages

This was the first version of Fiefs that was installed on Kingdom: Dark Ages.

Changes in Fiefs v0.7

  • Implemented per-fief config options called fief flags.
  • Added the /fi flags command.
  • Added the "claimedLandProtected" fief flag.

Dependency

This version of Fiefs uses Medieval Factions v4.2.2-alpha-4, which can be downloaded here.

Changes in Fiefs v0.6

  • Implemented a page system for the help command.
  • Showed the number of members, number of claimed chunks and the cumulative power for each fief in the output of the list command.
  • Added the /fiefs transfer command.
  • Allowed players to view the information of other fiefs in their faction by typing /fiefs info (fiefName).
  • Allowed players to view the members of other fiefs in their faction with the /fiefs members (fiefName) command.

Dependency

This version of Fiefs uses Medieval Factions v4.2.2-alpha-4, which can be downloaded here.

Changes in Fiefs v0.5

  • Integrated bStats with the plugin
  • Added the /fiefs members command.
  • Added the /fiefs desc command.
  • Added the /fiefs kick command.
  • Allowed players to create fiefs using names that have spaces.
  • If a player isn't in a fief, they will now be prevented from interacting with that fief's claimed land.
  • Added territory alerts.

Dependency

This version of Fiefs uses Medieval Factions v4.2.2-alpha-4, which can be downloaded here.

Changes in Fiefs v0.4

  • Implemented the Config Manager class.
  • Added the "debugMode" config option.
  • Added the "limitLand" config option.
  • Showed the number of members in the fief in the output of the info command.
  • Showed the fief's cumulative power in the output of the info command.

Dependency

This version of Fiefs uses Medieval Factions v4.2.2-alpha-4, which can be downloaded here.

Changes in Fiefs v0.3

  • Implemented the Event Registry class
  • When a faction is renamed in Medieval Factions, the faction field of all of its fiefs will be updated.
  • When a chunk is unclaimed in Medieval Factions, it will be unclaimed if it belongs to a fief in that faction.
  • When a player leaves a faction, they will leave their fief if they're in one.
  • When a faction is disbanded in Medieval Factions, all of its fiefs will be disbanded as well.
  • When a player is kicked from their faction in Medieval Factions, they will be removed from their fief as well if they're in one.

Dependency

This version of Fiefs uses Medieval Factions v4.2.2-alpha-4.

Changes in Fiefs v0.2

  • Implemented the Storage Manager class, making fiefs persistent.
  • Added the /fiefs claim command.
  • Added the /fiefs unclaim command.
  • Added the /fiefs checkclaim command.
  • Added the /fiefs info command.
  • Added the /fiefs invite command.
  • Added the /fiefs join command.
  • Added the /fiefs leave command.

Dependency

This version of Fiefs uses Medieval Factions v4.2.2-alpha-4.

The initial version of the plugin.

Allows for the creation, listing and disbandment of fiefs.

Please note that this version is not really usable, as persistence has yet to be implemented. This means that created fiefs will be lost after restarting the server.

BlueMap Medieval Factions

Renders Medieval Factions claims on BlueMap's web map. Originally written by Kilz.

Currencies

An expansion for Medieval Factions that allows faction owners to create and mint local currencies.

Democracy

Lets a Medieval Factions faction hold elections: members stand as candidates, vote, and follow the count.

Medieval Cookery

Allows server owners to add cooking recipes for an enhanced roleplay experience.

Something wrong, or something missing?

Bugs go to the plugin's issue tracker, where they can actually be fixed and tracked. Ideas for new behaviour go to the Dev Portal, where the community can upvote them.

v0.15.2
Source CodeReport a BugKnowledge BaseFree Server Hosting

More by Daniel Stephenson → danielstephenson.dev · Play his games in your browser