Feudalism
Feudalism
An area protection plugin designed to emulate the feudal system by allowing players to take control of three-dimensional areas based on their kingdom's population. A kingdom's area may be divided into subsections in order to give each area specific properties or purposes.
Development
I plan to improve this project incrementally, starting with the most basic features and slowly adding more complex ones. Most features added this way will say in alpha builds until they are all or mostly implemented. At this point the beta and eventually release builds will begin to appear.
Features
The main feature of this plugin is controlling space in minecraft in a new way by selecting 3D areas and offering varying degrees of protection within them based off of a kingdom's population. A basic list of planned features follows. Suggestions are always welcome.
- Selection of 3D areas
- Protection of areas
- Basic management features
- Creation of kingdoms
- Creation of user groups
- Creation of plots
- Addition of plot properties
- Addition of kingdom properties
- Confirm/Deny menus
- Trading and selling options
- Empires containing multiple kingdoms
- More as the plugin progresses and ideas are suggested.
Commands
These are the commands that will be used to control the plugin. All commands must start with the root command /feudalism (or one of its aliases) followed by a number of parameters. Feel free to suggest any other useful commands.
- /feudalism select - Prompts the user to first select the first and then second point of a cuboid.
- /feudalism point1 - Prompts the user to select the first point of a cuboid.
- /feudalism point2 - Prompts the user to select the second point of a cuboid.
- /feudalism increase <direction> <amount> - Makes the cuboid bigger by the amount specified in the direction specified (north, south, east, west, up, down).
- /feudalism decrease <direction> <amount> - Makes the cuboid smaller by the amount specified in the direction specified (north, south, east, west, up, down).
- /feudalism clear - Clears the current selection.
- /feudalism add - Adds the area of the current selection to the kingdom.
- /feudalism subtract - Subtracts the area of the current selection to the kingdom.
- /feudalism add <plot> - Adds the area of the current selection to the specified plot.
- /feudalism subtract <plot> - Subtracts the area of the current selection to the specified plot.
- /feudalism create kingdom <name> - Creates a new kingdom with the specified name.
- /feudalism create plot <name> - Creates a new plot with the specified name.
- /feudalism create group <name> - Creates a new group with the specified name.
- /feudalism delete kingdom - Deletes the kingdom currently owned.
- /feudalism delete plot <name> - Deletes the plot with the specified name.
- /feudalism delete group <name> - Deletes the group with the specified name.
- /feudalism name kingdom <new name> - Renames the kingdom giving it the specified new name.
- /feudalism name plot <old name> <new name> - Renames the specified plot giving it the specified new name.
- /feudalism name group <old name> <new name> - Renames the specified plot giving it the specified new name.
- /feudalism set kingdom <property> <value> - Sets the specified property to the specified value in the kingdom currently owned.
- /feudalism set plot <name> <property> <value> - Sets the specified property to the specified value in the specified plot.
- /feudalism set kingdom <group name> <property> <value> - Sets the specified property to the specified value in the kingdom currently owned for a specified group.
- /feudalism set plot <name> <group name> <property> <value> - Sets the specified property to the specified value in the specified plot for a specified group.
- /feudalism confirm - Confirms the action requested by a prompt.
- /feudalism deny - Denies the action requested by a prompt.
- /feudalism whois <user> - Gives the information on the specified user.
- /feudalism buy ? - Planned, but not yet designed.
- /feudalism sell ? - Planned, but not yet designed.
- /feudalism trade ? - Planned, but not yet designed.
- /feudalism charge ? - Planned, but not yet designed.
- /feudalism pay ? - Planned, but not yet designed.
- More to come with new features.
Aliases
These keywords are able to be substituted in commands.
- feudalism - feud, fd
- select - sel
- point1 - p1
- point2 - p2
- increase - inc
- decrease - dec
- clear - cl
- subtract - sub
- kingdom - k
- plot - p
- group - g
- confirm - c
- deny - d
- whois - who
Permissions
These are the permissions for the program. They are subject to change and many may be added. Feel free to suggest more.
- feudalism.* - Gives all feudalism permissions.
- feudalism.manage.* - Gives all feudalism managerial permissions.
- feudalism.manage.edit - Allows a user to edit another user's kingdom (for moderating purposes).
- feudalism.manage.create - Allows a user to create a kingdom for another user (for moderating purposes).
- feudalism.manage.remove - Allows a user to remove another user's kingdom (for moderating purposes).
- feudalism.manage.group - Allows a user to modify another user's groups (for moderating purposes).
- feudalism.manage.currency - Allows a user to modify the currency of any user (for moderating purposes).
- feudalism.lord - Allows a user to become the lord of a kingdom.
- feudalism.resident - Allows the user to become a resident of a kingdom.
- feudalism.whois - Allows the user to check other users' information.
- feudalism.sell - Allows the user to sell items at a shop.
- feudalism.trade - Allows the user to trade items or currency with other users.
- feudalism.charge - Allows the user to charge other users.
- More added as more features are completed/added.
Configuration
These configuration files are editable through the commands ingame as well as on the server. Users will only be able to control their own options and their kingdom/plot options unless given the correct permissions.
config.yml
Default config file for the plugin.
Not yet completed.
data.yml
Saves all kingdom and user data.
Not yet completed.
Add to config.yml
use-worldedit-selection:
Why having another selection tool when most servers already use WE..
Make a rank.yml where admins can specify the following ranks
King / emperor Lord Resident
so you can specify how powerful lords are or even give lords permissions from other plugins which they don't have normally.
Hi is to test ore download somewhere ??>
@tommythompson364
This could definitely be implemented in it, however, right now I don't have enough of it completed to go forward designing something such as that. In the future though it will probably be added.
@FatalSpawn
Could you elaborate on what you mean by claim vs region based?
@dragonfire967
Yes, this is exactly what that means. It also means that by selecting your area you don't automatically control all of the ores and resources below your area so they aren't being hogged if you're not mining them.
I Really like this but think you should make the capability of an Empire rather then just kingdoms and as fatalspawn suggested allow the head of the empire or kingdom to appoint lords to watch over fiefs within the Empire. If it did that it would be perfect for my clan's server.
This looks great! You should add support for: Lords, kings can appoint lords to rule over castles! Just like medieval europe! it should be changed to claim based instead of region select based. (kinda like factions)
I like the look of this so far. Keep up the good work. One question. I noticed at the top you mentioned you can select a 3d area. Does this mean you could setup plots on top of each other, for apartment style housing for your kingdom? Or am I reading this wrong. Thanks.