Concepts - Rumsfield/konquest GitHub Wiki
Table of Contents
This plugin is focused on teams (kingdoms) of players claiming territory and fighting other teams for control over all territory. The diagram below shows all major plugin concepts and how they relate to each other.
- Kingdoms are global teams which players may join or create. Kingdoms own towns settled by their members in the game world. They can be created by regular players, or set up to be fixed by admins. Kingdoms can own towns in multiple worlds. Player-created kingdoms have a kingdom master who controls options for the kingdom. Admin kingdoms have no kingdom master and must be managed by admins. Kingdoms also can have officers who can control adding/kicking members, as well as diplomacy with other kingdoms.
- Monument Templates are special block structures created by admins inside of sanctuary territories. There must exist at least one template for any kingdoms to be created. When a kingdom is created, any template can be chosen for use by towns of that kingdom. They contain critical blocks (obsidian by default) and may contain chests. The specific layout/design of a Monument Template is up to the creativity of admins.
- Towns are the main focus of claimed territory. Kingdom members can settle (create) multiple towns using economy currency. Towns are composed of a group of claimed land chunks. Players can claim more land to grow the size of a town. Towns include many other features, but the key concept for towns is that there is a Monument located in their center chunk. This monument is copied from the kingdom's chosen Monument Template.
- Capitals are special towns that are created when a kingdom is made. The capital also has a monument. When the capital is captured by an enemy kingdom, the original kingdom is destroyed along with its remaining towns. There are extra protections for capitals in the plugin configuration.
- Monuments are structures within every town & capital that are copied from their kingdom's chosen monument template when the town is settled. Monuments cannot be edited by their kingdom members. They contain critical blocks (obsidian by default), that when broken by enemy kingdom players, result in the capture of the town. Upon town capture, the monument is replaced with the monument template from the attacker's kingdom, and the town territory transfers ownership.
- Favor is the name that Konquest gives the server's economy currency. Favor is used to perform various actions within Konquest, but the plugin offers few methods for earning Favor. That is left up to server admins using their choice of economy plugin.
- Barbarians are players that belong to no kingdom. By default, new players are barbarians before they join a kingdom. Barbarians cannot settle towns or claim land. They can however place beds in order to create a personal camp that offers chest protection. When a barbarian destroys the critical blocks of a town monument, the town is destroyed and erased from the world.
- Sanctuaries are regions of the world that are claimed by admins, and are usually safe areas that players can travel to. The main purpose of a sanctuary is to contain monument templates that are built by admins. Sanctuary territory flag properties can be modified to allow building, pvp, travel, and more.
- Ruins are special territories created by admins which contain critical blocks (obsidian by default) and Ruin Golem spawn points. Players can fight the Ruin Golem entities and destroy the critical blocks for a reward in Favor and/or Exp.
- The Wild is simply any unclaimed land chunk in the world that is not covered by any territory.
The intended gameplay of Konquest is for players to join or create a kingdom when they first join the server. Once a kingdom member, players settle towns, build a base, and gear up. From this point, players can seek out enemy towns to raid and capture, or settle more towns in the unclaimed wild. This comes back to the main core concept of controlling the most territory. Players and kingdoms have a score based on towns and land.
New players start out assigned to the default kingdom, Barbarians. They can place a bed to create a personal camp claim for chest protection, and are considered enemies to all other kingdoms and barbarians. If anyone breaks the camp's bed while the owner is online, then the camp is destroyed and containers can be accessed. Camps cannot be edited while the owner is offline. Barbarians can also use the /k travel command to teleport to their camp bed and sanctuaries. They can attack towns (core.towns.barbarians_destroy
), which are destroyed when a barbarian breaks all critical blocks in the monument.
Barbarians may choose to join an available kingdom or create their own. Use the command /k kingdom to open the kingdom menu, and click on the Join icon to join open kingdoms or request to join closed ones. Also view a list of all kingdoms in the menu, or use command /k info (name) to view information about kingdoms, players and towns. Alternatively, use the sub-command /k kingdom create (template) (name) to create your own kingdom using an available Monument Template. Creating a new kingdom will also create a new capital territory at the player's location, with a Monument structure copied into the center chunk.
The /k kingdom command is the primary way to manage a kingdom, from changing diplomatic relationships with other kingdoms to promoting/demoting officers. For towns, use the /k town command for the general town menu (joining, leaving, lists). To manage the capital and towns in a kingdom, use command /k town (name), using the name of the kingdom or of a town in the kingdom.
An alternative to players making their own kingdoms with the /k kingdom create command, is for admins to create Admin Kingdoms with the /k admin kingdom create command. The core.yml config option core.kingdoms.create_admin_only
controls whether players may create their own kingdoms or if only admins can. An Admin Kingdom is just like a regular kingdom, except there is no kingdom master player, and the kingdom can exist without any members. Admins can use the /k admin kingdom menu (name) command to manage the Admin Kingdom and promote/demote officer players. Admin Kingdoms can still be destroyed when the capital is captured. Admins can disable capturing of the capital by using the command /k admin flag capital (kingdom) CAPTURE false.
Tutorial Quests, or directives, are an introductory guide to the major gameplay aspects of Konquest. There are 10 quests which players may complete for favor rewards. Each page of the book is a different quest. Players may view the Tutorial Quest Book at any time with the /k quest command. These quests may be disabled in the configuration (core.directive_quests
). Players must have the appropriate konquest.directive.*
permissions to have access to each directive/quest.
Any player which is not a Barbarian may settle a new town with the /k settle (name) command. New towns must be settled far enough away from other towns and sanctuaries, but not too far away. This also applies to kingdom capitals when creating a kingdom. There are several criteria for successfully settling:
- The land chunk must be flat with no more than 3 blocks of height difference at the top of the chunk (
core.towns.settle_check_flatness
) - Cannot be too close to another territory, friendly or enemy (
core.towns.min_distance_town
,core.towns.min_distance_sanctuary
) - Cannot be too far from other territories, excluding camps (
core.towns.max_distance_all
) - The land cannot be too high or too low in the world (
core.towns.min_settle_height
,core.towns.max_settle_height
) - The player must have enough favor to settle (
core.favor.cost_settle
,core.favor.cost_settle_increment
) - There cannot be too much air or water below the land chunk, within a depth of 32 blocks (
core.towns.settle_checks_depth
)
A new town will spawn a copy of the kingdom’s Monument Template in the center, and claim a small area of chunks around it (core.towns.init_radius
). The more towns a player settles or is lord of, the higher the cost will be for the next settlement (core.favor.cost_settle_increment
). Players cannot remove towns, nor move the town monument once it's been placed.
Example chunk grid showing a Town with 9 claimed chunks (green) and monument in the center (M). Acceptable new claims shown in yellow.
The player that settles a new town becomes the town lord. Towns have a resident list of players who are allowed to modify blocks and access containers within town land. The town lord can promote some residents to knights, who are then able to add/kick other residents to/from the town. Any kingdom member can teleport to any town within their kingdom using /k travel (town). This allows kingdom members to easily help defend against raids, in addition to visiting towns that grow into trading hubs or have strategic importance.
Towns and their claimed territory offer several protections:
- Prevents hostile mob spawns.
- Protects all containers from enemy players.
- Prevents enemy players from using switches, buttons, pressure plates and doors.
- Applies the Mining Fatigue potion effect to enemy players to slow their mining speed.
- Blocks all non-resident kingdom members from editing blocks or interacting with entities (e.g. animals).
Towns DO NOT prevent enemies from modifying blocks within claimed land. This allows enemies to mine through walls/doors and build over obstacles. However, when there are no online members of a kingdom, enemies cannot modify or capture towns (core.kingdoms.no_enemy_edit_offline
).
The Minecraft world is divided into areas of land called chunks. A chunk is a 16x16 block area, and can be visualized by pressing F3+G in-game. These chunks are the areas of land which can be claimed as parts of towns. By default, all chunks in the world are "The Wild" and unclaimed. Any player can claim land for any town in their own kingdom. When a player is standing in an adjacent wild chunk, the /k claim command will add the chunk to that town’s area. Players must spend favor to claim chunks (core.favor.cost_claim
).
Example chunk grid showing a Town with 17 claimed chunks (green) and monument in the center (M). Acceptable new claims shown in yellow.
Note that the Monument is still considered the Town center, even if the claimed land does not place it at the geometric center. All town territory must be contiguous, that is no breaks in claimed chunks.
The /k map command will print a text map in the chat box of nearby chunk status. Gray “-” means unclaimed wilderness. Green-colored symbols are friendly claims, and red-colored symbols are enemy claims. Using /k map far will print a larger map. Using /k map auto will print a new map when the player enters a new chunk. The map also includes a proximity value in the bottom-right, which is the distance in chunks to the center of the nearest territory. If that is an enemy town, it will be colored red, and green for a friendly town, else gray.
There are a variety of upgrades which town lords can purchase for their towns. Each upgrade offers an improvement or bonus mechanic to an individual town. Upgrades have a favor cost, plus a population requirement. A town's population is equal to the number of residents, including the town lord and knights. Some upgrades have multiple levels, where each level must be purchased prior to the next. Town lords use the /k town (town) upgrade command to open an inventory GUI menu which lists the available town upgrades, shown below.
Each item lists a description, cost and population requirement. Clicking on an item attempts to apply the upgrade to the town. Applied upgrades will be shown in the town info message using /k info (town). If, at some point in the future, a town loses residents and a purchased upgrade no longer meets the population requirement, that upgrade will automatically down-grade to a lower level until it's disabled. Increasing the population of the town will re-enable the upgrade, and re-purchasing it is not necessary.
Town upgrade costs and population requirements can be configured in the upgrades.yml file.
Iron Golems near town monuments will attack enemy players who enter the town border (core.kingdoms.golem_attack_enemies
). Likewise, when a targeted enemy leaves the town, the Iron Golem(s) will stop their pursuit. When a town is captured, the Iron Golems will join sides with the controlling kingdom and attack the new enemy players. Players may build Iron Golems normally around their towns to offer protection. Iron Golems within friendly town land cannot be damaged by kingdom members (core.kingdoms.attack_friendly_golems
).
If a kingdom's monument template structure includes any chests, then those chests will be copied into that kingdom's town monuments as loot chests. The Konquest plugin periodically (core.monuments.loot_refresh
) fills loot chests with a configurable number of random items (core.monuments.loot_count
). These items range from food, diamonds, or enchanted books. This provides an incentive for players to settle multiple towns, as well as reduces the grind for items needed to raid effectively.
When a player enters an enemy town, all enemy players online will be notified of their intrusion. Players may break and place blocks (except containers) within the enemy town. Players may also break blocks within the enemy town monument, notably the Critical Blocks (core.monuments.critical_block
). Players must destroy all of the Critical Blocks within the town monument in order to capture the town (core.monuments.destroy_amount
). The attacking player which destroys the last Critical Block captures the town and becomes the town's new lord.
Enemy players inside of town land will have the Mining Fatigue I potion effect placed on them. This will slow down the rate at which enemies can mine blocks. Enemies cannot interact with redstone switches like buttons, levers or pressure plates, but can however still mine through doors and walls. Once a town has been captured, there is a cooldown period until the town can be captured again (core.towns.capture_cooldown
). If the town monument is damaged but not captured, there is another cooldown period until the monument re-generates all of its blocks (core.monuments.damage_regen
).
There are several methods for finding enemy towns in the world:
- If a player has the
konquest.compass
permission, holding a compass will point to the nearest enemy town. - Using the /k map command will tell you the proximity to the nearest territory, friendly or enemy.
- Using the /k spy command will provide an unexplored map item centered on the nearest enemy town, and a white marker for player position.
Players may travel to towns within their own kingdom to help defend them from enemy raids. Traveling with the /k travel command costs favor (core.favor.cost_travel
). Once a player travels, there is a cooldown period until that player can travel again (core.towns.travel_cooldown
). To provide an incentive to assist, defending players will be rewarded with favor upon traveling to a town under attack (core.favor.rewards.defend_raid
).
There are several mechanics which prevent your towns from being raided while you are offline, and prevent you from raiding enemy towns when there is no one to defend. Ideally, when there are players online from all kingdoms, they will travel to towns under attack to help defend. But what if one kingdom has far more players online? Nobody likes having their work destroyed while they're offline. Luckily Konquest includes some mechanics to help prevent that from happening.
-
Maximum kingdom player difference is a setting that prevents any one kingdom from having too many members. Players cannot join kingdoms which have too many more members than any other. For example, if this setting is 3, and kingdom A has 10 members but kingdom B has 13, then players cannot join kingdom B.
-
core.kingdoms.max_player_diff
- The maximum difference in kingdom members. Set to 0 to disable this mechanic.
-
-
Minimum online players is a group of settings in the core.yml config file that control how many players in a kingdom must be online for raiding to happen. If the number of online players in a kingdom goes below a threshold setting, then that kingdom becomes protected from raids, with an optional warmup time. For example, if the kingdom of Camelot has a threshold of 3 and a warmup timer of 5 minutes, and if its 3rd online player leaves only 2 remaining online players, then the kingdom will become protected from raids in 5 minutes from that point. The warmup timer can prevent defenders from abusing the protection by leaving intentionally.
-
core.kingdoms.no_enemy_edit_offline
- Set to true to prevent raids in kingdoms with not enough online players. -
core.kingdoms.no_enemy_edit_offline_warmup
- Set a time in seconds until a kingdom is protected after there are not enough online players. -
core.kingdoms.no_enemy_edit_offline_minimum
- Set the minimum number of online players until a kingdom is protected.
-
-
Town Watch upgrade is a town upgrade which makes a town un-raidable unless some amount of its residents are online. This mechanic is not default on all towns because not all towns are worth protecting. Some players may settle towns only as waypoints, or may abandon their towns. Having this mechanic as a town upgrade encourages players to choose which towns to protect and shapes the world in a more player-driven manner. See the Town Upgrades page for more details.