Medieval Factions v3.5.1

An open source plugin for simulating sovereign states. Land Claiming, Locks, Vassals, War & More!

  1. DanTheTechMan
    Native Minecraft Version:
    1.13
    Tested Minecraft Versions:
    • 1.14
    • 1.15
    • 1.16
    Source Code:
    https://github.com/DansPlugins/Medieval-Factions
    Contributors:
    DanTheTechMan, Pasarus, Caibinus
    Intro
    I created this open source plugin for a roleplay server I created called Kingdom: Dark Ages. Please contact me if you want to assist with developing one of my plugins, find a bug or have an idea to make the plugin better.

    Bugs
    Report bugs here

    Wiki
    View the Wiki here

    Warfare Mechanic Test

    This video shows two factions attempting to conquer eachother's land in a public test conducted on the second beta of Kingdom: Dark Ages.

    Changes in Medieval Factions v3.5.1

    • merged /mf forcesave and /mf forceload into the /mf force command
    • created the /mf force save sub-command.
    • created the /mf force load sub-command.
    • created the /mf force peace 'faction1' 'faction2' sub-command.
    • altered permissions related to the above commands to be mf.force.save, mf.force.load and mf.force.peace respectively
    • added a link to the wiki to the /mf command (no arguments)

    Changes in Medieval Factions v3.5
    Additions
    • added a config option to make the max power level of a faction X times greater than normal
    • added a config option to limit the number of officers to 1 + (1 per X members)
    • added a config option to make the max power level of a faction officer X times greater than normal
    • added a config option for enabling/disabling power decay
    • added a config option for how often power decays once it begins
    • added a config option for how much power decays once it begins
    • added a config option for how long a player has to be offline until power decay begins
    • added a config option to set a limit on faction name length
    • factions can now have vassals
    • factions can now have a liege
    Fixes
    • fixed officer promotion alert for players who get promoted being red instead of green
    • fixed players being able to promote a player in their faction multiple times
    • fixed locked object coordinates bleeding over into different worlds
    • fixed players not getting removed from officer list when leaving a faction
    • fixed config settings not saving after being changed in-game with the config command
    • land claims no longer bleed into the nether by coordinates
    Tweaks
    • war declarations and peace agreements are now broadcasted to all online players
    • players are now informed how much their power increases during the scheduled increase
    • the /f power command output now shows max power level in addition to power level
    • decreased the spacing between fields in the info command output
    • players are now alerted upon login if their faction is exceeding their demesne limit
    • old config options now get deleted
    • the following blocks are now lockable: warped and crimson doors, all types of fence gates, all types of trapdoors, furnaces, anvils and barrels
    • players in other factions can now access locked blocks if they are given access no matter what territory it is in
    • cleaned up code and created a config subsystem
    • made factions unable to declare war on vassals unless they have the same liege (basically war can only be declared on independent factions now in most cases)

    Changes in Medieval Factions v3.4.3

    • fixed players being able to interact with doors, trapdoors, fence gates, barrels, levers and buttons in enemy territory if they were holding a shield or a food item
    Changes in Medieval Factions v3.4.2
    • added a config option called "minutesBeforeInitialPowerIncrease"
    • added a config option called "minutesBetweenPowerIncreases"
    • added a config option called "warsRequiredForPVP"
    • added a config option called "officerLimit"
    • fixed scheduled power increases not referencing the config in both execution and printing
    • fixed players being able to open chests in enemy territory if they were holding a shield or a food item
    • fixed /mf rename making factions no longer own their claimed chunks/locked blocks
    Changes in Medieval Factions v3.4.1
    • Fixed access lists for locked blocks not getting loaded correctly upon restart. Players should no longer get locked out of their own chests or doors.
    Changes in Medieval Factions v3.4
    • Faction owners now have a ** displayed next to their name in the output of the /mf members command.
    • Faction officers now have a * displayed next to their name in the output of the /mf members command.
    • Players with the "mf.config" permission can now use /mf config show and /mf config set (option) (value) to manage the config in-game.
    • Fixed version mismatch handling. Instead of attempting to rename the config and save the defaults, the plugin will now add any missing config options to your config.yml without touching config options that are already present and it will update the version in the config.yml to the correct version. This means that any future config option additions should seamlessly get added to the config.yml in future updates.
    Changes in Medieval Factions v3.3
    • The saving/loading system has been completely overhauled by Pasarus. Instead of using .txt files, we now use .json files for storage. This means that saving/loading is now dynamic and future changes to what gets saved and loaded should not break anyone's saves. In addition to this, a conversion system was programmed to convert old save files to the new save format, meaning saves should not get broken on this update.
    • Another major overhaul handled by Pasarus was to change any instance of referencing player data from names to UUIDS. Previously, we used names for everything, meaning that if a player changed their name, they wouldn't be in their faction anymore for instance. This will no longer be a problem.
    • If there a version mismatch with the config.yml, it will be saved as config.yml.old and the default values will be loaded into config.yml. This is to ensure that whenever something new is added to the config.yml, nothing will break.
    • Fixed claimed chunks appearing to be cross-world.
    • Fixed /mf resetpowerlevels not referencing the initial power level in config.yml.
    • Fixed autoclaim exploit where players were able to claim above their demesne limit if they moved through chunks fast enough.
    • Fixed faction home not getting destroyed upon the chunk getting claimed by an enemy faction.
    • Fixed /mf who showing incorrect number of claimed chunks.
    • Fixed factions remaining as enemies to other factions when they got disbanded via the /mf leave command.
    • Fixed player power levels not increasing upon killing another player.
    • Ladders are now placeable on faction territory by default (this can be changed in the config).
    • Allowed players to use /mf members (faction) if they are not in a faction.
    • Added a message to inform players when a command is not recognized by the plugin.
    • Added the /f, /factions and /medievalfactions aliases for /mf.
    • Players are now informed they're not in a faction when they use /mf info without being in a faction.
    • Those with the "mf.disband.others" permission can now disband other factions with /mf disband (faction).
    • Those with the "mf.unclaimall.others" permission can now unclaim all of the land of other factions with /mf unclaimall (faction)
    • When a player is bypassing, they can now use /mf unclaim to unclaim specific chunks.
    • Food can now be eaten while in enemy faction territory and looking at a block.
    • Shields can now be used while in enemy faction territory and looking at a block.
    • Changed the default initial power to 5, the default max power to 20 and the default hourly increase amount to 2.
    • Prevented players from transferring their faction to themselves.
    Medieval Factions Guide
    Viewing Faction Info
    In order to view what factions exist, type /mf list.
    To see more information about any of the factions, type /mf info (faction-name).
    To know what faction someone is in, type /mf who (player-name).

    Joining a Faction
    If you're not in a faction, you won't be able to protect your things from others, so it's best to know how to join one.
    Before you join a faction, you have to be invited. If someone invites you, you will be alerted on the screen and will need to type /mf join (faction-name) to accept.

    Creating a Faction
    If you would rather lead a civilization rather than join one, type /mf create (faction-name).
    To invite others to your faction, type /mf invite (player-name).
    To set the description of your faction, type /mf desc (description).
    To view the laws of your faction, type /mf laws.
    To add a law, type /mf addlaw (law) or /mf al (law).
    To remove a law, type /mf (removelaw (number) or /mf rl (number).
    To edit a law, type /mf editlaw (number) (edited law) or /mf el (number) (edited law).

    Claiming Land
    Currently only owners and officers of factions can claim land, and only owners can toggle the autoclaim flag.
    To see if land is claimed, type /mf checkclaim or /mf cc.
    To claim land, type /mf claim.
    To unclaim land, type /mf unclaim.
    To enable autoclaim, type /mf autoclaim or /mf ac.
    To unclaim all land, type /mf unclaimall or /mf ua.

    Warfare
    Players can only hurt eachother when they're at war or factionless. Only owners and officers of factions can declare war or make peace.
    To view who you are at war with, type /mf info.
    To declare war on a faction, type /mf declarewar (faction) or /mf dw (faction).
    To offer peace to a faction, type /mf makepeace (faction) or /mf mp (faction). Both factions will need to make peace before peace can be had.
    To conquer someone's land, type /mf claim in their territory. This is only possible if you are at war and if they have more land than power.

    Alliances
    Factions can be allied with one another. Allies can't declare war on each other. When someone declares war on a faction, all of the allies of that factions declare war back.
    To view who you are allied with, type /mf info.
    To request an alliance with another faction, type /mf ally (faction). Both factions must request an alliance before an alliance is made.
    To break an alliance with another faction, type /mf breakalliance (faction).

    Locks
    Locks only work on claimed land, so if land is unclaimed or conquered, locks will also be removed.
    You can only lock chests or doors right now.
    To lock something, type /mf lock and right click it. Type /mf lock cancel to cancel this.
    To unlock something, type /mf unlock and right click it. Type /mf unlock cancel to cancel this.
    To check who has access to something, type /mf checkaccess or /mf cc and right click it. Type /mf checkaccess cancel or /mf cc cancel to cancel this.
    To grant access to something for someone, type /mf grantaccess (player) or /mf ga (player) and right click it. Type /mf grantaccess cancel or /mf ga cancel to cancel this.
    To revoke access to something for someone, type /mf revokeaccess (player) or /mf ra (player) and right click it. Type /mf revokeaccess cancel or /mf ra cancel to cancel this.

    FAQ
    Q:
    My players can't use the commands. How do I add permissions?
    A: Server permissions are something server owners generally have to manage for themselves. I use the plugin "LuckPerms" to manage mine and assign the "mf.default" permission to the default group. If you run into trouble, check out this tutorial below:

    quick tutorial
    - download luckperms and upload to server
    - restart server
    - type /lp editor
    - click on the link
    - click on groups
    - click on the default group
    - type "mf.default", press enter, and click a button to add the permission to the group
    - click save
    - copy the command that pops up
    - run the command on your server

    Medieval Factions v3.5 allows you to:
    • see lists of commands with /mf help #
    • see all factions on the server with /mf list
    • see your faction info with /mf info
    • see a list of members in your faction with /mf members
    • join a faction if invited with /mf join
    • leave your faction with /mf leave
    • create a new faction with /mf create
    • invite a player to your faction with /mf invite
    • change your faction description with /mf desc
    • kick a player from your faction with /mf kick
    • transfer ownership of your faction to a player with /mf transfer
    • delete your faction with /mf delete
    • declare war on another faction with /mf declarewar
    • make peace with another faction with /mf makepeace
    • claim land for your faction with /mf claim
    • unclaim land for your faction with /mf unclaim
    • unclaim all land for your faction with /mf unclaimall
    • check if land is claimed with /mf checkclaim
    • automatically claim land with /mf autoclaim
    • promote players to officer status with /mf promote
    • demote players to member status with /mf demote
    • check your power level with /mf power
    • set your faction home with /mf sethome
    • go to your faction home with /mf home
    • view the plugin version with /mf version
    • view the details of a player's faction with /mf who
    • ally a faction with /mf ally
    • break an alliance with a faction with /mf breakalliance
    • rename their faction with /mf rename
    • lock a chest or door with /mf lock
    • unlock a chest or door with /mf unlock
    • grant access to a chest for a player with /mf grantaccess
    • check access of a locked chest with /mf checkaccess
    • revoke access to a chest for a player with /mf revokeaccess
    • view the laws of their faction with /mf laws
    • view the laws of another faction with /mf laws (faction name)
    • create laws with /mf addlaw
    • delete laws with /mf removelaw
    • edit a law with /mf editlaw (number) (edited message)
    • toggle faction chat with /mf chat
    • force a save with /mf forcesave
    • force a load with /mf forceload
    • reset power levels with /mf resetpowerlevels
    • bypass protections with /mf bypass
    • view the config with /mf config show
    • set a config option with /mf config set (option) (value)
    ...and much more.

    In addition to these commands, the plugin also:
    • prevents players in the same faction from hurting eachother
    • prevents players whose factions are not at war from hurting eachother
    • prevents players from breaking or placing blocks on land claimed by another faction
    • prevents you from right clicking on any blocks on land claimed by another faction
    • informs players when they enter or leave a claimed territory
    • informs everyone in the faction when someone joins, leaves, is kicked or when war begins and ends.
    • informs players when they gain or lose power
    • informs players when land is conquered from their faction
    • allows officers to invite/kick people and declare war/make peace.
    • allows officers to claim/unclaim land and even access to the autoclaim function.
    • informs players when they are promoted/demoted.
    • informs players when ownership of the faction they belong to is transferred to them.
    • assigns every player a power level, which contributes to factions' cumulative power levels.
    • limits land claiming based on the cumulative power level of a faction
    • fully supports saving/loading of all aspects of the plugin
    • makes players lose power when they die
    • makes players gain power when they kill others
    • allows players to conquer land from other factions if they're beyond their demsne limit.
    • prevents allied factions from declaring war on eachother
    • makes it so that when factions declare war on other factions, the victim's allies are called into the war
    • provides unique permissions for every command
    • provides a default permission
    • provides an admin permission
    • makes teleports to faction homes take 3 seconds
    • cancels teleports to faction homes if player moves
    • makes invitations expire after 24 hours
    • increases every player's power level every hour if they are online
    • deletes faction homes if land they're on gets unclaimed
    • autosaves every hour
    • ties locks to factions
    • lists the factions by power
    • makes players keep items in faction territory when they die but aren't killed
    • stops hostile mobs spawning in faction territory
    • informs the player if they have entered an unrecognized command
    ...and much more.

    Permissions
    • mf.default
    • mf.admin
    • mf.help
    • mf.create
    • mf.list
    • mf.disband
    • mf.disband.others
    • mf.members
    • mf.info
    • mf.desc
    • mf.invite
    • mf.join
    • mf.kick
    • mf.leave
    • mf.transfer
    • mf.declarewar
    • mf.makepeace
    • mf.claim
    • mf.unclaim
    • mf.unclaimall
    • mf.unclaimall.others
    • mf.checkclaim
    • mf.autoclaim
    • mf.promote
    • mf.demote
    • mf.power
    • mf.sethome
    • mf.home
    • mf.version
    • mf.who
    • mf.ally
    • mf.breakalliance
    • mf.rename
    • mf.lock
    • mf.unlock
    • mf.grantaccess
    • mf.checkaccess
    • mf.revokeaccess
    • mf.laws
    • mf.addlaw
    • mf.removelaw
    • mf.editlaw
    • mf.chat
    • mf.vassalize
    • mf.swearfealty
    • mf.grantindependence
    • mf.declareindependence
    • mf.force.save
    • mf.force.load
    • mf.force.peace
    • mf.resetpowerlevels
    • mf.bypass
    • mf.config

    Config.yml
    version: v3.5
    initialMaxPowerLevel: 20
    powerIncreaseAmount: 2
    factionOwnerMultiplier: 2.0
    officerPerMemberCount: 5
    factionOfficerMultiplier: 1.5
    powerDecreases: true
    minutesBetweenPowerDecreases: 1440
    minutesBeforePowerDecrease: 20160
    powerDecreaseAmount: 1
    factionMaxNameLength: 20
    minutesBeforeInitialPowerIncrease: 30
    minutesBetweenPowerIncreases: 60
    warsRequiredForPVP: true
    initialPowerLevel: 5
    mobsSpawnInFactionTerritory: false
    laddersPlaceableInEnemyFactionTerritory: true
    Narux, Pasarus, Vulcord and 1 other person like this.

Recent Reviews

  1. Pouyarisk
    Pouyarisk
    5/5,
    Version: v3.5
    this great plugin for the faction.so I have a question.
    What resource pack did you use in your video?
    1. DanTheTechMan
      Author's Response
      Thanks for the review, Pouyarisk! The resource pack used n the video is called Conquest. The video was made by Rykurock, and he and I actually worked on a plugin to add recipes to the game to match conquest textures. Conquest is great by itself but it is vastly improved by Optifine, so I suggest getting that too. (that's how you get the item textures, among other things)
  2. 3Lord3
    3Lord3
    5/5,
    Version: v3.4.1
    The plugin is very minimalistic (in a good sense), but it lacks a lot of customizability. I would like to see more settings and the ability to translate all messages
    1. DanTheTechMan
      Author's Response
      Thanks for the review, 3Lord3! I definitely felt some other plugins were too bloated. I will work on customizability for the plugin, thank you for the suggestion. I'll make a note for translation options as well.
  3. Hiukuss
    Hiukuss
    5/5,
    Version: v3.4.1
    Great replacement for the original factions plugin. Would be nice to have more customization in the config if at all possible--such as:

    changing the time of the hourly power level increase
    toggling power level increase of offline faction owners
    /f home delay
    popup text color (faction name/wilderness)
    Built-in dynmap function
    MySQL database support
    1. DanTheTechMan
      Author's Response
      That was the intended purpose, haha! Thanks for the review! I'll keep your suggestions in mind, I agree that the plugin needs to be more configurable.
  4. Alive216
    Alive216
    5/5,
    Version: v3.4.1
    Hello there
    Awesome plugin. It would be great to see basic region flags and some kind of integration with PvP plugins like bedwars or whatever. People on my server can't hit each other in minigames because their factions are not at war
    1. DanTheTechMan
      Author's Response
      Hey Alive, thanks for the review! I'm not sure about integration, but I can add a config option to allow PVP between factions who are not at war. Would you mind elaborating on what you mean by region flags in a PM or discussion post?
  5. Xhermp
    Xhermp
    5/5,
    Version: v3.3
    Hi! Amazing plugin. My only gripes would be that they're not called kingdoms, kings, etc. Also it would be nice to have a limit on the number of officers in a single faction. If officers are the only ones able to claim land, everyone would just become an officer because it's useful in war.
    1. DanTheTechMan
      Author's Response
      Thanks for the review Xhermp! On my server, players often name their factions "Kingdom of (name)". I did almost name the plugin Kingdoms, but I wanted people to understand it was essentially a replacement for factions.

      Thank you for the officer suggestion! I'll make a note to make that a configurable option.
  6. ImpeccablePnguin
    ImpeccablePnguin
    5/5,
    Version: v3.3
    Great mod. I wish mob spawning was togglable though as you cannot create zombie villagers on claimed land
    1. DanTheTechMan
      Author's Response
      Thanks for the review ImpeccablePnguin! I believe I included a config.yml option for mobs being spawnable or not in claimed territory. I'll post the config.yml to the plugin page to clear up any confusion.
  7. DisNoire
    DisNoire
    5/5,
    Version: v3.1
    Great plugin, exactly what i searched for my server! But 1 feature is missing. It would be great to change the default amount of power(currently it's 10), because i would like to private the spawn, which contains more than 10 chunks, and maybe allow my players more space to start with. Hope some kind of general config file will appear. Otherwise. great work!
    1. DanTheTechMan
      Author's Response
      Thanks for the review, DisNoire! Due to popular request, plans have been made to include a config file, so keep an eye out for future updates!
  8. Vulcord
    Vulcord
    5/5,
    Version: v2.5
    Hey! You made a great plugin. I would love to see 1) it updated to 1.16.1 and 2) the roleplay features you mentioned in another plugin. Keep up the great work!
    1. DanTheTechMan
      Author's Response
      Hey Vulcord, I appreciate the review!

      I'll see what I can do about testing the plugin on a 1.16.1 server.

      I've just updated the plugin to v2.7 which has laws, which I found to be a needed RP feature when testing it on my own server.

      If you want more roleplay features, I suggest you take a look at my Medieval Roleplay Engine plugin here: https://www.spigotmc.org/resources/medieval-roleplay-engine.79993/
  9. notashelf
    notashelf
    5/5,
    Version: v2.1
    This plugin sure does a good alternative to roleplay based factions server which aim to focus on roleplay instead of massive pvp events or duels. 10/10, great plugin. (Took a peek at the code, it is clean and nicely made.)

    That aside, I feel like something is missing in this plugin as a whole but can't tell exactly what it is. But I shall give it those 5 humble stars for the effort.

    Would be also nice if the author added some images to the plugin page :)
    1. DanTheTechMan
      Author's Response
      Thanks for the review, notashelf!

      I actually made this for a roleplay/hybrid server, but I kept the roleplay aspects of the server in another plugin, this is meant purely a political plugin that deals with how large groups of people can interact.

      I'll consider adding some pictures, thank you for the suggestion.