Skip to content
Holograms, bossbar & maps

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

KeyDescription
enabledMaster toggle for the hologram feature.
view-distanceRange in blocks at which a claim's hologram appears / disappears for a player.
heightVertical offset of the hologram above the claim spawn block.
billboardRotation mode: CENTER (always faces the viewer), FIXED, VERTICAL, HORIZONTAL.
scaleUniform text size multiplier (1.0 = vanilla size).
text-shadowWhether the text keeps its drop shadow.
backgroundtransparent (no panel), default (vanilla 25% black), or an ARGB hex such as #40000000.
brightness015 forces a constant light level (15 = always readable in the dark); -1 follows the world light at the hologram.
shadow-radius / shadow-strengthSoft block-shadow cast under the hologram. shadow-radius: 0 disables it.
members-per-lineHow 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:

PlaceholderValue
%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.