Integrations - Rumsfield/konquest GitHub Wiki
Updated for 1.9.0
Konquest Integrations
The Konquest plugin optionally integrates with other plugins to offer added features.
EssentialsX
EssentialsX provides many useful commands and economy features to the server. Konquest integrates with EssentialsX by controlling where players can set their homes, and where they can teleport using EssentialsX commands. The Konquest core.yml configuration file has the following options:
core.integration.essentialsx
- When true, players can only set homes inside of friendly town and capital territory of their kingdom, and barbarians can only set homes inside of their own camps.core.integration.essentialsx_options.enable_wild_homes
- When true, players can also set homes in the wild.core.integration.essentialsx_options.enable_teleport_protection
- When true, players cannot use EssentialsX teleport commands to teleport into or out of enemy territory, as well as no teleporting when combat tagged.core.integration.essentialsx_options.enable_afk_payments
- When true, players will receive kingdom payments while AFK, otherwise they will not get payments when AFK.
WorldGuard
WorldGuard allows players to define regions in the game world with different flag settings. Note that WorldGuard also requires WorldEdit as a dependency. Konquest can integrate with WorldGuard (core.integration.worldguard
) to provide custom flags that can be set to control how players claim land and travel in WorldGuard regions.
Custom Region Flags
Flag Name | Description |
---|---|
konquest-claim |
Allow or deny any chunk within the region to be claimed as a part of any Konquest territory (towns, capitals, etc). |
konquest-unclaim |
Allow or deny any chunk within the region to be unclaimed from any Konquest territory (towns, capitals, etc). |
konquest-travel-enter |
Allow or deny all players to teleport into the region using Konquest's travel command. |
konquest-travel-exit |
Allow or deny all players to teleport out of the region using Konquest's travel command. |
konquest-arena |
Allow or deny players to PvP with any other player, regardless of kingdom relationship. |
QuickShop-Hikari & ChestShop
QuickShop-Hikari and ChestShop are chest shop plugins which allow players to make customs shops to buy/sell their items for favor. Only the shop owner may access the contents of the associated chest. Konquest can integrate with QuickShop-Hikari (core.integration.quickshop
) and ChestShop (core.integration.chestshop
) to offer the following features:
- Players may only create shops within friendly town land. Shops cannot be created in The Wild.
- Players can only trade with shops in their own kingdom's land, or other kingdoms with a diplomatic relationship of Trade or Alliance. Players can also trade with shops within Sanctuary land.
- Upon town capture, all shops within the town land are removed, leaving behind the chests and items to be taken.
LuckPerms
LuckPerms is a permissions plugin which can assign players a prefix/suffix based on their assigned permission group. Konquest can integrate with LuckPerms (core.integration.luckperms
) in order to preserve the formatted prefix/suffix text on player names in the chat feed.
LuckPerms color codes
You can set permission groups in LuckPerms to have their own prefix and suffix. These can include color codes, using standard Minecraft formatting codes or custom hex colors. Just use the &
symbol before the color value, or #
before the hex code. For example:
- Set a dark red prefix with standard codes: &4Admin
- Set a custom hex color, ff00ff: #ff00ffMod
Squaremap, Dynmap & BlueMap
Squaremap, Dynmap and BlueMap are like the Google Earth of Minecraft. It's a plugin that renders the Minecraft world as a map in your web browser. Konquest will automatically draw all territory areas on the maps in a browser, when enabled in the core.yml configuration file.
core.integration.map_options.enable_kingdoms
- Render kingdom capitals and towns on the web-based map view.core.integration.map_options.enable_camps
- Render barbarian camps on the web-based map view.core.integration.map_options.enable_sanctuaries
- Render sanctuaries on the web-based map view.core.integration.map_options.enable_ruins
- Render ruins on the web-based map view.core.integration.map_options.show_banners
- Display banner images from theplugins/Konquest/banners/
folder on territory labels.
Banner Images
You can put custom PNG image files in the plugins/Konquest/banners/
folder and have them displayed on the web map in territory labels (core.integration.map_options.show_banners
). The following image file names can be used:
default.png
- The default image used for all territories, when a specific territory type or kingdom image is missing.camp.png
- The banner image used for all barbarian camps.ruin.png
- The banner image used for all ruins.sanctuary.png
- The banner image used for all sanctuaries.<kingdom name>.png
- The banner image used for a specific kingdom with a matching name.
Refer to the banner instructions for more details.
Custom Map Colors
Every town and capital area in a kingdom are displayed on the web map using a default random color. More technically, the color is derived from the letters of the kingdom's name. Players can use commands to override the colors used for kingdoms on the web map. The color can be a named preset (e.g. red, blue, purple, etc.), or it can be a hex value (e.g. #00ffb5).
- When core.yml option
core.kingdoms.web_color_admin_only: true
, only players with admin permissions may use the command /k admin kingdom webcolor (name) (color) to change the web map color. - When core.yml option
core.kingdoms.web_color_admin_only: false
, the admin command still works, but now players without admin permissions who are the kingdom master may also use the command /k kingdom webcolor (color) to change the web map color.
To reset the color back to the default name-based color, use "default" instead of a color value: /k kingdom webcolor default.
DiscordSRV
DiscordSRV allows the chat in your Minecraft server to go to your Discord server, and back from your Discord server to the Minecraft chat. Follow the detailed instructions on the DiscordSRV wiki on how to set it up. Konquest will hook into DiscordSRV when the core.yml option core.integration.discordsrv
is true.
Features
Konquest can support the following features when DiscordSRV is installed on your server:
- All chat is sent to DiscordSRV's "global" linked channel.
- Kingdom chat is sent to linked channels that match the name of the kingdom (case-sensitive).
- Use Konquest API events with DiscordSRV Alerts for messages when specific actions happen in the game.
- Send town raid alerts as direct messages (
core.integration.discordsrv_options.raid_alert_direct
) and as mentions to linked kingdom chat channels (core.integration.discordsrv_options.raid_alert_channel
). - Automatically manage and assign Discord roles for every kingdom to linked players (
core.integration.discordsrv_options.auto_roles
).
DiscordSRV Alerts
Here are some example triggers for the DiscordSRV alerts.yml
file. These triggers use the Konquest API events.
Alerts:
# Kingdom create
- Trigger: KonquestKingdomCreateEvent
Channel: global
Embed:
Color: "#440044"
Title:
Text: ':crown: New Kingdom Created'
Description: '${#event.getPlayer().getBukkitPlayer().getName() + " has created the Kingdom of " + #event.getKingdom().getName()}'
# Kingdom disband
- Trigger: KonquestKingdomDisbandEvent
Channel: global
Embed:
Color: "#440044"
Title:
Text: ':skull: Kingdom Disbanded'
Description: '${"The Kingdom of " + #event.getName() + " has been disbanded."}'
# Kingdom conquer
- Trigger: KonquestKingdomConquerEvent
Channel: global
Embed:
Color: "#440044"
Title:
Text: ':headstone: Kingdom Conquered'
Description: '${"The Kingdom of " + #event.getName() + " has been conquered by " + #event.getConqueror().getName()}'
# Town settle
- Trigger: KonquestTownSettleEvent
Channel: global
Embed:
Color: "#440044"
Title:
Text: ':cityscape: New Town Settled'
Description: '${#event.getPlayer().getBukkitPlayer().getName() + " has settled the Town of " + #event.getTown().getName()}'
# Town capture
- Trigger: KonquestTownCapturePostEvent
Channel: global
Embed:
Color: "#440044"
Title:
Text: ':link: Town Captured'
Description: '${"The Town of " + #event.getTown().getName() + " has been captured by " + #event.getTown().getKingdom().getName()}'
# Ruin capture
- Trigger: KonquestRuinCapturePostEvent
Channel: global
Embed:
Color: "#440044"
Title:
Text: ':bomb: Ruin Captured'
Description: '${#event.getPlayer().getBukkitPlayer().getName() + " has captured the Ruin " + #event.getRuin().getName()}'
# Kingdom diplomacy - peace
- Trigger: KonquestKingdomDiplomacyEvent
Channel: global
Conditions:
- '#event.isPeace() == true'
Embed:
Color: "#440044"
Title:
Text: ':dove: Kingdoms at Peace'
Description: '${"The Kingdoms of " + #event.getKingdom().getName() + " and " + #event.getTargetKingdom().getName() + " are now at peace!"}'
# Kingdom diplomacy - war
- Trigger: KonquestKingdomDiplomacyEvent
Channel: global
Conditions:
- '#event.isWar() == true'
Embed:
Color: "#440044"
Title:
Text: ':dagger: Kingdoms at War'
Description: '${"The Kingdoms of " + #event.getKingdom().getName() + " and " + #event.getTargetKingdom().getName() + " are now at war!"}'
Kingdom Chat
When players change to kingdom chat with the /k chat
command, their chat messages are only visible to their fellow kingdom members. When DiscordSRV is installed on your server, kingdom chat messages also get sent to a special linked channel in Discord. Each kingdom's link channel is named after the kingdom. For example, the kingdom called "Rome" sends kingdom chat messages to DiscordSRV on the "Rome" channel.
You must add kingdom chat links in the DiscordSRV config.yml file to map them to the Discord channels you want to use. The link name is case-sensitive, and must match the kingdom name exactly. For example:
# The first part of channel pairs is not the Discord channel name!
# Run "/discord reload" after changing this option to apply
Channels: {"global": "990285913949085706", "Rome": "990286025295294475"}