Protection Settings
Configuration for protection tooling
Champs
| Champ | Type | Par défaut | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
inspectRefreshTicks | Var<Int> | 40 | Tick delay between inspection updates (minimum 5 ticks) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inspectBossBarColor | String | BLUE | BossBar color used during /tw protection inspect | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inspectBossBarOverlay | String | PROGRESS | BossBar overlay used during /tw protection inspect | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
showDeniedMessages | Var<Boolean> | true | Display chat messages when a player is denied an action | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deniedMessageChat | Var<Boolean> | true | Send denied messages to the player's chat | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deniedMessageActionBar | Var<Boolean> | false | Send denied messages to the action bar | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deniedMessageBossBar | Var<Boolean> | false | Send denied messages via a temporary boss bar | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
customMessageChat | Var<Boolean> | true | Send custom flag messages to the player's chat | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
customMessageActionBar | Var<Boolean> | false | Send custom flag messages to the action bar | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
customMessageBossBar | Var<Boolean> | false | Send custom flag messages via a temporary boss bar | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
messageBossBarDurationTicks | Int | 100 | Duration in ticks before boss bar messages disappear (minimum 20 ticks) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deniedMessageTemplate | String | <red>Denied Action{reason_line}</red> | MiniMessage template for denied action messages. Use {reason} for the raw reason and {reason_line} for ': reason'. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
messageTemplates | ProtectionMessageSettings | — | Advanced MiniMessage templates used for denied feedback and inspection mode. Supports placeholders documented in the protection guide.
|
| Champ | Type | Par défaut | Description |
|---|---|---|---|
deniedAction | String | <red>Action denied{reason_line}</red> | Denied action template. Placeholders: {reason}, {reason_line} (prefixed with ': ' when reason available). |
deniedEntry | String | <red>Entry denied ({flag}) in {region}.</red> | Denied entry template. Placeholders: {region}, {flag}. |
inspectionToggleOn | String | <green>Flag inspection enabled</green> | Action bar feedback when inspection is enabled. |
inspectionToggleOff | String | <yellow>Flag inspection disabled</yellow> | Action bar feedback when inspection is disabled. |
inspectionInitializingBossBar | String | <gold>Loading inspection data…</gold> | BossBar title displayed while the inspection session initializes. |
inspectionNoRegionActionBar | String | <gray>No active regions</gray> | Action bar message displayed when no regions are active during inspection. |
inspectionNoRegionBossBar | String | <dark_gray>Inspection: no regions</dark_gray> | BossBar title displayed when no regions are active during inspection. |
inspectionActionBarPrefix | String | <gold>[P{priority}]</gold> <aqua>[{region}]</aqua> | Prefix for the inspection action bar. Placeholders: {priority}, {region}. |
inspectionActionBarNoFlags | String | <gray>No flags configured</gray> | Action bar fallback when the dominant region exposes no active flags. |
inspectionActionBarDetail | String | <gold>{flag}</gold><dark_gray>: </dark_gray>{value}{inherited}{overrides} | Action bar entry for each flag. Placeholders: {flag}, {value}, {inherited}, {overrides}. |
inspectionActionBarSeparator | String | <dark_gray> </dark_gray> | Separator between flag entries in the inspection action bar. |
inspectionActionBarMoreFlags | String | <dark_gray> …</dark_gray> | Suffix appended when additional flag previews are truncated. |
inspectionActionBarAdditionalRegions | String | <blue> • +{count} region(s)</blue> | Suffix appended when additional regions overlap. Placeholder: {count}. |
inspectionActionBarInheritedIndicator | String | <blue>↑</blue> | Indicator appended to action bar details when a flag is inherited. |
inspectionActionBarOverrideIndicator | String | <light_purple>↻</light_purple> | Indicator appended to action bar details when a flag overrides its parent. |
inspectionBossBarTitle | String | <green>#{index}</green><dark_gray>/</dark_gray><green>{total}</green><dark_gray> • </dark_gray>" + "<gold>P{priority}</gold><dark_gray> • </dark_gray><aqua>{region}</aqua>{flags}{summary} | BossBar title template per region. Placeholders: {index}, {total}, {priority}, {region}, {flags}, {summary}. |
inspectionBossBarNoFlags | String | <gray>No active flags</gray> | BossBar summary when a region exposes no effective flags. |
inspectionBossBarSummaryBase | String | <gold>{active} active</gold><dark_gray> • </dark_gray><aqua>{local} local</aqua> | Base summary fragment. Placeholders: {active}, {local}. |
inspectionBossBarSummaryInherited | String | <dark_gray> • </dark_gray><blue>{count} inherited</blue> | Summary fragment appended when inherited flags exist. Placeholder: {count}. |
inspectionBossBarSummaryOverrides | String | <dark_gray> • </dark_gray><light_purple>{count} overrides</light_purple> | Summary fragment appended when overrides exist. Placeholder: {count}. |
inspectionBossBarDetailPrefix | String | <dark_gray> • </dark_gray> | Prefix inserted before the boss bar flag detail list. |
inspectionBossBarDetail | String | <gold>{flag}</gold><dark_gray>=</dark_gray>{value}{inherited}{overrides} | BossBar detail entry per flag. Placeholders: {flag}, {value}, {inherited}, {overrides}. |
inspectionBossBarDetailSeparator | String | <dark_gray>, </dark_gray> | Separator between boss bar flag details. |
inspectionBossBarDetailMore | String | <dark_gray> …</dark_gray> | Suffix appended when boss bar flag details are truncated. |
inspectionBossBarDetailInheritedIndicator | String | <blue>↑</blue> | Indicator appended to boss bar flag details when inherited. |
inspectionBossBarDetailOverrideIndicator | String | <light_purple>↻</light_purple> | Indicator appended to boss bar flag details when overriding a parent value. |
messagesProtectionMessagesProtectionMessages (4)
| Champ | Type | Par défaut | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
selection | SelectionMessages | — | —
|
| Champ | Type | Par défaut | Description |
|---|---|---|---|
missingArtifact | String | <red>Region definition <definition> is not linked to any artifact.</red> | — |
globalApplied | String | <green>Applied global region for <label>.</green> | — |
globalCaptureDenied | String | <red>Global artifacts cannot be captured.</red> | — |
activation | String | <green>Selection mode enabled for <label>. Use the toolbar to add or remove points, then validate from the menu.</green> | — |
noSession | String | <red>You do not have an active selection session.</red> | — |
pointAdded | String | <aqua>Point <index> added: <x> <y> <z></aqua> | — |
pointUpdated | String | <aqua>Point <index> updated: <x> <y> <z></aqua> | — |
pointAddFailed | String | <red>Cannot add point <index>: index is too high.</red> | — |
pointRemoved | String | <gray>Removed point <index>: <x> <y> <z></gray> | — |
lastPointRemoved | String | <gray>Removed last point: <x> <y> <z></gray> | — |
noPointToRemove | String | <yellow>There is no point to remove.</yellow> | — |
pointMissing | String | <yellow>No point <index> recorded.</yellow> | — |
pointInfo | String | <light_purple>Point <index>: <x>, <y>, <z></light_purple> | — |
worldMismatch | String | <red>All points must belong to the same world (<world>).</red> | — |
sessionCancelled | String | <gray>Selection cancelled.</gray> | — |
selectionApplied | String | <green>Selection applied.</green> | — |
notEnoughPoints | String | <yellow>Add at least <required> points before applying.</yellow> | — |
mixedWorlds | String | <red>All points must be in the same world (<worlds>).</red> | — |
invalidGeometry | String | <red>The current selection cannot be converted into a region.</red> | — |
selectionSynced | String | <yellow>Selection synchronised (<points> point<plural_suffix>).</yellow> | — |
worldEditUnavailableForGlobal | String | <red>Cannot import a WorldEdit selection for a global region.</red> | — |
worldEditMissingAdapter | String | <red>No compatible WorldEdit adapter was detected.</red> | — |
worldEditNotFound | String | <red>No WorldEdit selection detected.</red> | — |
worldEditSessionUnavailable | String | <red>Unable to open the capture session for this artifact.</red> | — |
worldEditImported | String | <yellow>Imported WorldEdit selection (<points> point<plural_suffix>).</yellow> | — |
ensureSameWorld | String | <red>All points must belong to the same world (<world>).</red> | — |
contentContentMessagesContentMessages (9)
| Champ | Type | Par défaut | Description |
|---|---|---|---|
addPointName | String | <gold><bold>Add point</bold></gold> | — |
addPointLore | List<String> | — | — |
removeLastName | String | <red><bold>Remove last</bold></red> | — |
removeLastLore | List<String> | — | — |
modeHint | String | <gray>Click to change the selection mode.</gray> | — |
applyName | String | <green><bold>Apply</bold></green> | — |
applyLore | List<String> | — | — |
cancelName | String | <red><bold>Cancel</bold></red> | — |
cancelLore | List<String> | — | — |
modesModeMessagesModeMessages (2)
| Champ | Type | Par défaut | Description |
|---|---|---|---|
cuboid | ModeEntry | — | — |
polygon | ModeEntry | — | — |
commandsCommandMessagesCommandMessages (6)
| Champ | Type | Par défaut | Description |
|---|---|---|---|
general | GeneralMessages | — | — |
list | ListMessages | — | — |
info | InfoMessages | — | — |
flags | FlagsMessages | — | — |
inspect | InspectMessages | — | — |
teleport | TeleportMessages | — | — |
How to use it
Create at most one of this entry: the first one found is used. It controls where the denied and custom messages appear (chat, action bar, boss bar), the MiniMessage templates (deniedMessageTemplate and messageTemplates accept {reason}, {reason_line}, {region} and {flag} where the help says so), and the inspection mode. inspectRefreshTicks has a minimum of 5 ticks and messageBossBarDurationTicks a minimum of 20. Invalid boss bar colours and overlays fall back to BLUE and PROGRESS with a warning in the log. The messages field holds the text of the selection toolbar and command output.