Medieval Factions
0
Allows players to organize themselves into feudal, diplomatic, lawful groups akin to nations.
Versions
All releases on GitHubPatches a protection bypass where holding any block listed in factions.wartimePlaceableBlocks incorrectly granted the ability to interact with all blocks in enemy territory — including opening chests, flipping levers, and operating doors — regardless of whether those blocks appeared in factions.wartimeInteractableBlocks.
Fixed
- Holding a block listed in
wartimePlaceableBlocksno longer allows unrestricted interaction with enemy faction blocks during wartime. Placement permissions and interaction permissions are now evaluated independently.
Known Limitations
The underlying listener logic that distinguishes between block placement and block interaction has not been fully refactored. The wartime permission system may still be susceptible to edge cases in this area. This is being tracked for a future release.
Upgrade Notes
No configuration changes are required. If you added blocks to wartimePlaceableBlocks as a workaround to grant interaction rights, those should be moved to wartimeInteractableBlocks instead.
Full Changelog
What's New
Wartime Block Controls Servers can now configure separate block lists for wartime — specifying which blocks are placeable, breakable, and interactable during active conflicts. This gives admins much finer control over PvP dynamics without touching normal gameplay.
Fence Gate Access
The nonMembersCanInteractWithDoors config option now also applies to fence gates, closing a long-standing gap in access control behavior.
Horse Despawn Fix Spawn blocking in claimed land has been scoped to hostile mobs only, preventing tamed horses and other passive mobs from despawning when players relog inside a claim.
Under the Hood
- Removed the Ponder dependency; utility functions are now inlined, trimming an external dependency from the project.
- Expanded unit test coverage for the core faction system.
- Added a database querying guide covering direct DB access for both Docker and VM setups.
- Repository aligned with DPC conventions for consistency across Dans-Plugins projects.
This release fixes an issue where the nonMembersCanInteractWithDoors configuration option was not functioning as intended and resolves a ladder bypass bug that could allow unintended access. These changes improve claim security and ensure configuration settings are properly enforced.
What’s Changed
- Fixed
nonMembersCanInteractWithDoorsconfig option behavior - Patched ladder bypass exploit affecting protected areas
Full Changelog
https://github.com/Dans-Plugins/Medieval-Factions/compare/v5.7.1...v5.7.2
This release fixes an issue where ladder placement was incorrectly blocked in enemy territory during wartime. Ladder placement now behaves as expected, ensuring smoother and more consistent siege and combat gameplay.
What's Changed
- Fixed ladder placement being blocked in enemy territory during wartime.
Full Changelog
https://github.com/Dans-Plugins/Medieval-Factions/compare/v5.7.0...v5.7.1
Medieval Factions v5.7.0 delivers a substantial set of improvements focused on stability, configuration flexibility, and faction management, alongside updates for the latest Minecraft version.
This release introduces leaderless faction support, expanded force/administrator command capabilities, and new world-based claim blocking options, giving server operators more control over how factions behave across different worlds. Protection logic has been tightened with fixes for locked chest hopper bypasses and updated handling for new potion effects and copper golems.
On the technical side, v5.7.0 includes multiple stability and reliability fixes, such as resolving NullPointerExceptions, improving concurrent gate save handling, and removing outdated territory item pickup/drop restrictions. Development and deployment workflows have also been enhanced with automated JAR publishing, improved documentation, and updated SpigotMC source-of-truth content.
Highlights
- Leaderless faction support with operator management commands
- World-based claim blocking configuration
- Fixed double-chest hopper bypass and protection edge cases
- Improved faction flag commands with force permissions and refactoring
- Test server updated to Minecraft 1.21.11
- Comprehensive in-repository documentation added
- Automated JAR publishing to GitHub Packages
Special thanks to @AmethystWyrm for their first contribution to the project.
For a complete list of changes, see the Full Changelog:
https://github.com/Dans-Plugins/Medieval-Factions/compare/v5.6.1...v5.7.0
What's Changed
- Fix NoSuchElementException occurring during plugin initialization when player data is unavailable by @Copilot in https://github.com/Dans-Plugins/Medieval-Factions/pull/1887
- Fix /mf bypass not allowing players to attack entities in claimed chunks by @Copilot in https://github.com/Dans-Plugins/Medieval-Factions/pull/1884
- Add recursion depth cap to prevent infinite recursion in faction claim fill command by @Copilot in https://github.com/Dans-Plugins/Medieval-Factions/pull/1876
- Fix lock command to persist across multiple blocks like unlock command by @Copilot in https://github.com/Dans-Plugins/Medieval-Factions/pull/1881
- Fix Slimefun compatibility: Add comprehensive event listeners to prevent bypassing faction protection by @Copilot in https://github.com/Dans-Plugins/Medieval-Factions/pull/1878
- Fix entity protection in faction territories to respect relationships by @Copilot in https://github.com/Dans-Plugins/Medieval-Factions/pull/1899
- Optimize Dynmap integration to eliminate lag on server and web interface by @Copilot in https://github.com/Dans-Plugins/Medieval-Factions/pull/1883
Full Changelog: https://github.com/Dans-Plugins/Medieval-Factions/compare/v5.6.0...v5.6.1
What's Changed
- Fix Ally Placeholder Issue and Enable PlaceholderAPI Testing by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1842
- Improve GitHub Issue Templates for Clarity and Consistency by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1843
- Make Gate Block Restrictions Configurable and Expand Default List by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1845
- Prevent Gate Blocks from Being Destroyed by Fire by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1846
- Add Support for Installing Currencies Plugin Expansion on Test Server by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1848
- Fixed plugin JARs getting deleted incorrectly in
post-create.shby @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1849 - Add Config Options to Restrict Block Actions in Unclaimed Wilderness Chunks by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1851
- Tests/clean up existing unit tests by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1854
- Updated Currencies to 2.1.0 by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1855
- Updated version to 5.6.0 by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1856
Full Changelog: https://github.com/Dans-Plugins/Medieval-Factions/compare/v5.5.0...v5.6.0
Functionality Changes
- Made Dynmap processing more configurable by allowing optional realm and faction info display. #1829
- Updated Dynmap to reflect faction disbandment. #1830
- Prevented an anvil duplication exploit involving falling blocks in gates. #1831
Other Changes
- Added unit tests for Dynmap integration and simplified test server setup. #1826]
- Enabled BlueMap in the test server. #1828
- Updated project version to 5.5.0. #1833
Verification
- Updated the test container to Minecraft 1.21.4 and verified plugin compatibility. #1827
- Confirmed that factions persist when upgrading from version 5.4.0.
Functionality Changes
- Fixed an issue where the power insufficiency check failed when a faction attempted to conquer land.
- Added the ability for players to submit applications to join factions.
Other Changes
- Added a Dockerfile with Dynmap support.
- Updated
CONTRIBUTING.md. - Removed upgrade instructions for MF 5 from the README.
Verification
- Confirmed that factions persist when upgrading from version 5.3.0.
What's Changed
- Release/v5.1.4 by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1717
- Remove some unnecessary limitations on faction's land by @Tems-py in https://github.com/Dans-Plugins/Medieval-Factions/pull/1762
- Prevent using bucket on faction's claim by @Tems-py in https://github.com/Dans-Plugins/Medieval-Factions/pull/1763
- Removed old claim commands (Phase 3 deprecation) by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1769
- Config Option - Only Render Territories Upon Startup by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1768
- Added Brazilian Portuguese (pt-BR) translation for Faction-Medieval p… by @MestreWilll in https://github.com/Dans-Plugins/Medieval-Factions/pull/1758
- Test Server Dockerfile by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1775
- Config Option - Claim Fill Max Chunks by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1771
- Removed locale stuff from dockerfile by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1777
- Fixed disabling neutrality preventing the plugin from enabling by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1776
- Changed version to 5.3.0 by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1778
New Contributors
- @Tems-py made their first contribution in https://github.com/Dans-Plugins/Medieval-Factions/pull/1762
- @MestreWilll made their first contribution in https://github.com/Dans-Plugins/Medieval-Factions/pull/1758
Full Changelog: https://github.com/Dans-Plugins/Medieval-Factions/compare/v5.2.0...v5.3.0
What's Changed
- Release/v5.1 (#1717) by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1718
- Removed chat preview listener. by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1719
- New Flag -
protectVillagerTradeby @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1725 - Added custom charts back into the MedievalFactions class. by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1720
- New Config Option -
factions.maxMembersby @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1722 - Expanded Territory Title Notifications by @Chocolate1Donut in https://github.com/Dans-Plugins/Medieval-Factions/pull/1736
- Apply lint to recent contribution. by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1738
- Toggle Dynmap Integration by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1737
- Toggle Block Destruction in Wartime by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1739
- New Config Option -
players.minPowerby @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1726 - Old Claim Commands Deprecation (Phase 2) by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1721
New Contributors
- @Chocolate1Donut made their first contribution in https://github.com/Dans-Plugins/Medieval-Factions/pull/1736
Full Changelog: https://github.com/Dans-Plugins/Medieval-Factions/compare/v5.1.4...v5.2.0
What's Changed
- Release/v5.1 by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1704
- Added unique name check to
set namecommand. by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1713 - Denied access to
mf claim autocommand if either mf.claim.auto or mf.autoclaim perms are disabled. by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1714 - Made players only steal power upon killing a player if the victim has… by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1703
- Modified Language.kt to include internal resource bundles only if they exist by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1715
Full Changelog: https://github.com/Dans-Plugins/Medieval-Factions/compare/v5.1.3...v5.1.4
What's Changed
- Allowed bypassed players to set their own role. by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1702
Full Changelog: https://github.com/Dans-Plugins/Medieval-Factions/compare/v5.1.2...v5.1.3
What's Changed
- Language loading fix by @Kyrenic in https://github.com/Dans-Plugins/Medieval-Factions/pull/1692
- Dynmap performance improvements by @alyphen
Full Changelog: https://github.com/Dans-Plugins/Medieval-Factions/compare/v5.1.1...v5.1.2
What's Changed
- Moved limit land check in move listener. by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1687
Full Changelog: https://github.com/Dans-Plugins/Medieval-Factions/compare/v5.1.0...v5.1.1
What's Changed
- Added MF 5 info to README. by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1601
- Metric - Language Used by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1624
- Feature - Unclaim Others by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1620
- Contiguous claims config option implemented by @Kyrenic in https://github.com/Dans-Plugins/Medieval-Factions/pull/1637
- Removed 'mustBeOfficerToX' flags since they weren't being used. by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1634
- Fix codeowners by @alyphen in https://github.com/Dans-Plugins/Medieval-Factions/pull/1642
- JVM Name - MfFactionMember.getPlayerId() by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1632
- Add linting by @alyphen in https://github.com/Dans-Plugins/Medieval-Factions/pull/1643
- Claim commands backwards compatibility by @Kyrenic in https://github.com/Dans-Plugins/Medieval-Factions/pull/1644
- Restructured claim code by @Kyrenic in https://github.com/Dans-Plugins/Medieval-Factions/pull/1654
- Fixing a few bugs by @Kyrenic in https://github.com/Dans-Plugins/Medieval-Factions/pull/1656
- Feature - Disband Other Factions by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1617
- Flag - Allow Liege Interaction by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1633
- Prevent items from being taken from locked containers by hoppers, closes #1391 by @Kyrenic in https://github.com/Dans-Plugins/Medieval-Factions/pull/1658
- Prevent hoppers from picking up items from locked chests, closes #1391 by @Kyrenic in https://github.com/Dans-Plugins/Medieval-Factions/pull/1659
- Fix character encoding for German language file by @alyphen in https://github.com/Dans-Plugins/Medieval-Factions/pull/1665
- Display - Relationships in Info Command (Redone) by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1667
- Allowed operators to forcefully set roles. by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1669
- Create language files if nonexistent by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1670
- Edits to law list, law remove, law edit and law move by @Kyrenic in https://github.com/Dans-Plugins/Medieval-Factions/pull/1680
- Feature - Add Member command (redone) by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1668
- Fix - Unlock blocks upon getting broken by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1675
- Add GitHub actions CI config by @alyphen in https://github.com/Dans-Plugins/Medieval-Factions/pull/1681
- Fix - Prevent players from editing their role's permission to edit their own role's permissions. by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1677
New Contributors
- @Kyrenic made their first contribution in https://github.com/Dans-Plugins/Medieval-Factions/pull/1637
Full Changelog: https://github.com/Dans-Plugins/Medieval-Factions/compare/v5.0.6...v5.1.0
What's changed
- #1391 Fix hoppers being able to take items from locked containers
What's Changed
- Added MF 5 info to README. by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1601
- Metric - Language Used by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1624
- Feature - Unclaim Others by @dmccoystephenson in https://github.com/Dans-Plugins/Medieval-Factions/pull/1620
Full Changelog: https://github.com/Dans-Plugins/Medieval-Factions/compare/v5.0.5...v5.1.0-snapshot.1
What's Changed
Fixed factions not being able to call allies into war with the 'invoke' command.
What's changed
- #1616 Fixed duels teleporting people to the same location in different dimensions
- #1621 Fixed players being teleported to the other player's location when duels finish
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.