Holograms, bossbar & maps
Claim Holograms
SCS2 renders a floating Text Display hologram at each claim's spawn, shown to nearby players. It is fully packet-based and client-side (no real server entity), proximity-rendered, event-driven (no per-tick task) and kept in sync live whenever a claim changes. Bedrock players are skipped (Text Display does not render through Geyser). Enabled by default; turn it off with enabled: false.
Configuration
Under claims.hologram in config.yml (reload with /scs reload):
claims:
hologram:
enabled: true
view-distance: 48 # blocks; the hologram appears within this range of its claim spawn
height: 2.0 # vertical offset above the spawn block
billboard: CENTER # CENTER (faces the player), FIXED, VERTICAL, HORIZONTAL
scale: 1.0 # text size multiplier
text-shadow: true # drop shadow behind the text
background: transparent # 'transparent', 'default' (vanilla), or an ARGB hex e.g. '#40000000'
brightness: 15 # 0-15 = constant light (15 = always readable), -1 = follow world light
shadow-radius: 0.0 # block-shadow cast under the hologram (0 = none)
shadow-strength: 1.0
members-per-line: 3 # member names per line before wrapping
# The hologram lines and the member / ban / flag / status text formats are defined
# in your language file (keys: hologram-lines, hologram-member-online, …) — see below.
Appearance keys
| Key | Description |
|---|---|
enabled | Master toggle for the hologram feature. |
view-distance | Range in blocks at which a claim's hologram appears / disappears for a player. |
height | Vertical offset of the hologram above the claim spawn block. |
billboard | Rotation mode: CENTER (always faces the viewer), FIXED, VERTICAL, HORIZONTAL. |
scale | Uniform text size multiplier (1.0 = vanilla size). |
text-shadow | Whether the text keeps its drop shadow. |
background | transparent (no panel), default (vanilla 25% black), or an ARGB hex such as #40000000. |
brightness | 0–15 forces a constant light level (15 = always readable in the dark); -1 follows the world light at the hologram. |
shadow-radius / shadow-strength | Soft block-shadow cast under the hologram. shadow-radius: 0 disables it. |
members-per-line | How many names %member-list% prints per line before wrapping to the next. |
The text bits live in your language file (not config): hologram-lines (the line list), hologram-member-online / hologram-member-offline (each name in %member-list%; %name% = the name; default green/red by online state), hologram-ban-format (%ban-list%), hologram-flag-true / hologram-flag-false (on/off marker for %flag-X% and %perm-X%, default ✔/✘), and hologram-status-yes / hologram-status-no (%warp% / %for-sale%).
Line placeholders
Each line in hologram-lines (in your language file) is a full MiniMessage string (colors, gradients, fonts…). Available placeholders:
| Placeholder | Value |
|---|---|
%claim% | Claim name. |
%owner% | Owner name. |
%description% | Claim description. |
%chunks% | Number of chunks in the claim. |
%members% | Member count (the owner is not counted). |
%member-list% | Member names (owner excluded), wrapping every members-per-line names. Each name is styled by member-online / member-offline — online green, offline red by default. |
%bans% | Number of banned players on the claim. |
%ban-list% | Banned player names, wrapped every members-per-line and styled by ban-format. |
%price% | Sale price, formatted per claims.economy.formatted-number. |
%visit-price% | /claim visit fee, formatted. |
%id% | Internal claim id. |
%world% / %x% / %y% / %z% | Claim spawn world name and block coordinates. |
%area% / %blocks% | Total claimed area in blocks (chunks × 256). |
%tax% | Claim rent per tax period (chunks × claims.tax.amount-per-chunk); empty when the tax is disabled. |
%warp% / %for-sale% | Public-warp / for-sale status as text (status-yes / status-no). |
%your-role% | The viewing player's role on the claim (Owner / Member / Visitor…), localized. |
%flag-<NAME>% | On/off marker for a claim flag, e.g. %flag-TNT_EXPLOSIONS% or %flag-FIRE_SPREAD%. Uses flag-true / flag-false. |
%perm-<NAME>% | Whether the viewing player's role is granted a permission, e.g. %perm-PLACE_BLOCK% (owner = always allowed). |
any %papi_…% | If PlaceholderAPI is installed, any placeholder it knows — resolved against the viewer. |
Conditional & empty lines
Prefix a line to show it only in certain states:
[buyable]/[notbuyable]— only when the claim is (not) for sale.[members]/[nomembers]— only when the claim has (no) members besides the owner.[warp]/[nowarp]— only when the claim has (no) open public warp.[bans]/[nobans]— only when the claim has (no) banned players.[owner]/[member]/[visitor]— by the viewing player's relation to the claim (owner / added member / neither).
Any line that renders empty after substitution (e.g. an empty description) is skipped automatically, so optional info never leaves a blank gap.
Line breaks & PlaceholderAPI
- Add a line break inside a single entry with
<newline>(MiniMessage) or a literal\n. - If PlaceholderAPI is installed, any
%placeholder%it knows is resolved against the viewing player, so each player sees their own values. These refresh on the same triggers as the rest of the hologram (move, chunk cross, teleport, claim change), not continuously.
The hologram updates live on any claim change (rename, members, sale, spawn move, deletion) for everyone nearby. Member names are resolved without blocking the server — online members instantly, offline members shortly after via an async lookup.
MiniMessage cannot render 3D items or player heads inside text. To show icons, use a resource pack that defines custom font glyphs and reference them with <font:namespace:font>…</font> in a line — the lines accept full MiniMessage, so this works out of the box.
BossBar & Sounds
A BossBar is displayed when players are inside a claim (one color per role) and, optionally, when they are outside any claim (one color per world mode). Available colors: PINK, BLUE, RED, GREEN, YELLOW, PURPLE, WHITE. Available overlays: PROGRESS, NOTCHED_6, NOTCHED_10, NOTCHED_12, NOTCHED_20.
claims:
bossbar:
enabled: true
# Outside any claim. Color/overlay/progress are configured per world mode.
always-visible:
survival-mode:
enabled: true
color: WHITE
overlay: PROGRESS
progress: 1.0
survival_requiring_claims-mode:
enabled: true
color: WHITE
overlay: PROGRESS
progress: 1.0
protected-mode:
enabled: true
color: GREEN
overlay: PROGRESS
progress: 1.0
disabled-mode:
enabled: true
color: RED
overlay: PROGRESS
progress: 1.0
# Inside a claim — one block per role.
visitor:
color: WHITE
overlay: PROGRESS
progress: 1.0
member:
color: GREEN
overlay: PROGRESS
progress: 1.0
moderator:
color: PURPLE
overlay: PROGRESS
progress: 1.0
owner:
color: BLUE
overlay: PROGRESS
progress: 1.0
Sounds
SCS2 ships 40 configurable sounds for every action: claiming, unclaiming, teleporting, entering/leaving claims, banning, kicking, merging, flying, inviting, and more. Each sound can be individually configured or disabled in claims.sounds.*.
Sound keys use Minecraft's dot notation (e.g., minecraft:ui.button.click, minecraft:entity.experience_orb.pickup). Set a sound to empty or remove it to disable it for that action.
Map Integration
SCS2 supports Dynmap, BlueMap, Pl3xMap, and squaremap with fully customizable visual styles:
dynmap:
enabled: true
show-labels: true
boosted: false # renderer-specific render boost (see below)
styles:
normal:
line-weight: 2
line-opacity: 0.8
line-color: "00FF00"
fill-opacity: 0.3
fill-color: "00FF00"
label-format: "%claim_name%"
popup-format: | # HTML shown when a claim is clicked on the map
<b>%claim_name%</b><br/>Owner: %owner_name%<br/>%description%
for-sale:
line-color: "FFCC00"
fill-color: "FFCC00"
popup-format: |
<b>%claim_name%</b><br/>Price: %price%$
Normal claims and for-sale claims can have different visual styles on the map. show-labels toggles the always-on claim-name label; boosted applies a renderer-specific rendering boost (Dynmap's area boost flag, or disabling BlueMap's depth test so markers show through terrain); popup-format is the HTML shown when a claim is clicked, with placeholders %claim_name%, %owner_name%, %description% and (for-sale) %price%. The same structure applies for the bluemap and pl3xmap sections; squaremap shares the same styles but has no boosted option.