Permission Nodes
Overview
SimpleClaimSystem ships six families of Bukkit permission nodes. They are independent from the in-claim role permissions: those (PLACE_BLOCK, INTERACT_CHEST, etc.) are configured per claim and per role through the in-game GUI; these nodes are configured server-wide through your permissions plugin (LuckPerms recommended) and decide what a player is allowed to do before the claim system even gets consulted.
| Family | What it gates | Wildcard |
|---|---|---|
scs.claim.<sub> | Each /claim subcommand (radius, list, invite, fly, ...). | scs.claim.* |
scs.admin.<sub> | Each /scs admin subcommand (reload, player, importFromV1, ...). | scs.admin.* |
scs.permission.<key> | Whether a player may toggle a specific role permission in the claim GUI (PLACE_BLOCK, INTERACT_CHEST, ...). Lowercase key. | scs.permission.* |
scs.flag.<key> | Whether a player may toggle a specific flag in the claim GUI (creeper_explosions, fire_spread, ...). Lowercase key. | scs.flag.* |
scs.bypass.<key> | Skip the matching per-claim role check at runtime (enter, teleport, place_block, ban, ...). Lowercase key. Holders are treated as if the role allows the action everywhere. | scs.bypass.* |
scs.limit.<type>.<amount> | Per-rank limits (claims, chunks, radius, members, cost, ...). See the Limits section. | n/a (highest match wins) |
Critical for fresh installs: scs.permission.* and scs.flag.* are not declared with default: true in plugin.yml. On a server that doesn't grant them explicitly, regular players will see toggles in the GUI but won't be able to flip them. Grant scs.permission.* and scs.flag.* to your default rank so claim owners can configure their own claims. See the LuckPerms tutorial below.
OPs and anyone with scs.admin.* bypass every check (toggle gates and runtime gates). scs.bypass.* is the surgical equivalent for runtime checks only: it lets a holder ignore the per-claim role permissions without granting access to admin tooling.
scs.permission.* (toggle gating for role permissions)
Every in-claim role permission has a matching Bukkit node scs.permission.<key> (lowercase). When a player opens /claim permissions, each toggle is hidden / non-clickable unless the player has the corresponding node, the wildcard scs.permission.*, scs.admin.*, or is OP.
Use this when you want to expose only a subset of toggles to regular players (e.g. let visitors-by-default never be flipped to allow building) while still allowing staff to override anything.
Block & Container
scs.permission.place_block, scs.permission.destroy_block, scs.permission.destroy_spawners, scs.permission.use_bucket, scs.permission.trample_crops, scs.permission.ignite_block, scs.permission.interact_chest, scs.permission.interact_trap_chest, scs.permission.interact_ender_chest, scs.permission.interact_barrel, scs.permission.interact_shulker_box, scs.permission.interact_hopper, scs.permission.interact_dropper, scs.permission.interact_dispenser, scs.permission.interact_furnace, scs.permission.interact_blast_furnace, scs.permission.interact_smoker, scs.permission.interact_brewing_stand, scs.permission.interact_anvil, scs.permission.interact_enchanting_table, scs.permission.interact_beacon, scs.permission.interact_smithing_table, scs.permission.interact_loom, scs.permission.interact_cartography_table, scs.permission.interact_stonecutter, scs.permission.interact_grindstone, scs.permission.interact_crafting_table, scs.permission.interact_composter, scs.permission.interact_cauldron, scs.permission.interact_jukebox, scs.permission.interact_lectern_read, scs.permission.interact_lectern_take, scs.permission.interact_bookshelf, scs.permission.interact_decorated_pot, scs.permission.interact_flower_pot, scs.permission.interact_brush_block, scs.permission.interact_candle, scs.permission.interact_campfire, scs.permission.interact_bell, scs.permission.interact_dragon_egg, scs.permission.interact_shelf, scs.permission.interact_vault, scs.permission.interact_trial_spawner, scs.permission.interact_spawner, scs.permission.interact_command_block, scs.permission.interact_jigsaw, scs.permission.interact_structure_block, scs.permission.interact_target_block, scs.permission.interact_sculk_catalyst, scs.permission.interact_sculk_shrieker, scs.permission.interact_painting, scs.permission.interact_sign, scs.permission.interact_bed
Redstone & Doors
scs.permission.interact_button, scs.permission.interact_lever, scs.permission.interact_pressure_plate, scs.permission.interact_tripwire, scs.permission.interact_comparator, scs.permission.interact_repeater, scs.permission.interact_note_block, scs.permission.interact_door, scs.permission.interact_trapdoor, scs.permission.interact_fence_gate, scs.permission.sculk_sensor_trigger
Entities
scs.permission.place_entity, scs.permission.destroy_entity, scs.permission.interact_entity, scs.permission.damage_entity, scs.permission.shear_entity, scs.permission.feed_entity, scs.permission.ride_entity, scs.permission.mount_entity, scs.permission.lead_entity, scs.permission.name_tag_entity, scs.permission.breed_entity, scs.permission.tame_entity, scs.permission.milk_entity, scs.permission.capture_entity, scs.permission.interact_villager, scs.permission.interact_golem, scs.permission.trade_wandering_trader
Decorations & Vehicles
scs.permission.place_armor_stand, scs.permission.destroy_armor_stand, scs.permission.interact_armor_stand, scs.permission.place_item_frame, scs.permission.destroy_item_frame, scs.permission.interact_item_frame, scs.permission.place_painting, scs.permission.destroy_painting, scs.permission.place_vehicle, scs.permission.destroy_vehicle, scs.permission.interact_vehicle
Item Usage
scs.permission.use_bow_crossbow, scs.permission.use_trident, scs.permission.use_ender_pearl, scs.permission.use_chorus_fruit, scs.permission.use_firework, scs.permission.use_fishing_rod, scs.permission.use_wind_charge, scs.permission.use_shield, scs.permission.use_elytra, scs.permission.use_potion, scs.permission.use_spyglass, scs.permission.use_brush, scs.permission.use_bundle, scs.permission.use_map, scs.permission.use_fire_charge, scs.permission.use_snowball, scs.permission.use_egg, scs.permission.use_portal
Player Actions
scs.permission.pickup_item, scs.permission.drop_item, scs.permission.exp_drop_pickup, scs.permission.enter, scs.permission.leave, scs.permission.natural_teleport, scs.permission.other_teleport, scs.permission.fly, scs.permission.sleep, scs.permission.eat, scs.permission.drink, scs.permission.crouch, scs.permission.frostwalker, scs.permission.projectile_launch, scs.permission.totem_use, scs.permission.equip_armor, scs.permission.equip_item, scs.permission.receive_beacon_effects
2.5.0 change: the single TELEPORT permission was split into NATURAL_TELEPORT (ender pearl, chorus fruit, nether/end portals, end gateway) and OTHER_TELEPORT (plugin/command teleports — /tp, /warp, /home, etc.). Existing claims auto-migrate: the old TELEPORT value is copied to both new keys, then the legacy key is stripped. The bypass nodes scs.bypass.teleport (legacy alias kept for back-compat) and the new scs.bypass.natural_teleport / scs.bypass.other_teleport follow the same split.
The full list is generated from the menu_permissions_*.yml files in the guis/ folder. Adding a new toggle there with a permission: "scs.permission.my_key" entry plugs it into the same gating system at runtime, no Java change required.
scs.flag.* (toggle gating for flags)
Same model as scs.permission.* but for the world / environment flags. The Bukkit node is scs.flag.<key> in lowercase. Without the matching node (or scs.flag.* / scs.admin.* / OP), the flag is non-clickable in /claim flags.
Explosions
scs.flag.creeper_explosions, scs.flag.charged_creeper_explosions, scs.flag.tnt_explosions, scs.flag.minecart_tnt_explosions, scs.flag.wither_explosions, scs.flag.wither_skull_explosions, scs.flag.bed_explosions, scs.flag.respawn_anchor_explosions, scs.flag.ender_crystal_explosions, scs.flag.fireball_explosions, scs.flag.wind_charge_explosions, scs.flag.entity_explode, scs.flag.explosion_block_damage, scs.flag.explosion_damage, scs.flag.tnt_chain_reaction, scs.flag.block_explosion_chain
Fire
scs.flag.fire_burn, scs.flag.fire_ignite, scs.flag.fire_spread, scs.flag.fire_damage, scs.flag.entity_burn, scs.flag.entity_combust
Nature
scs.flag.crop_growth, scs.flag.leaf_decay, scs.flag.ice_melt, scs.flag.snow_form, scs.flag.snow_melt, scs.flag.flower_spread, scs.flag.mushroom_spread, scs.flag.mycelium_spread, scs.flag.vine_growth, scs.flag.structure_growth, scs.flag.cross_structure_growth, scs.flag.sculk_spread, scs.flag.block_form, scs.flag.block_grow, scs.flag.block_spread, scs.flag.block_fade, scs.flag.liquids_flow, scs.flag.lightning_strike, scs.flag.weather_change, scs.flag.sponge_absorb, scs.flag.observer_trigger, scs.flag.cross_redstone
Mob Spawning
scs.flag.monsters_spawn, scs.flag.animals_spawn, scs.flag.villager_spawn, scs.flag.phantom_spawn, scs.flag.warden_spawn, scs.flag.raid_spawn, scs.flag.trial_chamber_spawn, scs.flag.wind_charge_spawn, scs.flag.vehicle_spawn
Damage & PvP
scs.flag.pvp, scs.flag.invincible, scs.flag.fall_damage, scs.flag.lava_damage, scs.flag.suffocation_damage, scs.flag.void_damage, scs.flag.projectile_impact
Entity & Misc
scs.flag.entity_drops, scs.flag.entity_grief, scs.flag.entity_teleport, scs.flag.entity_transform, scs.flag.mob_ai, scs.flag.natural_breeding, scs.flag.exp_drop, scs.flag.portal_create, scs.flag.vehicle_destroy, scs.flag.vehicle_move
scs.bypass.* (per-permission staff override)
Where scs.permission.* and scs.flag.* gate who can flip a toggle in the GUI, scs.bypass.* gates who can ignore the toggle's actual effect at runtime. A player with scs.bypass.place_block can place blocks inside any claim regardless of the role they hold there; one with scs.bypass.enter walks into claims that visitors are normally pushed back from; scs.bypass.teleport lets /spawn, /tp, ender pearls and chorus fruit drop the holder anywhere even when the destination claim's role denies TELEPORT.
Each per-claim role permission has a matching bypass node with the lowercase name. Granting the wildcard scs.bypass.* turns the holder into a fully-trusted entity for every claim on the server. Default in plugin.yml is op for the entire family.
Use scs.bypass.* when you want a backup / staff account that can move freely and edit anywhere without granting the full admin command surface. scs.admin.* implies bypass via the wrapper helper, but the converse is not true: a scs.bypass.* holder still cannot run /scs reload, edit other players' settings, or force-unclaim from the GUI.
Movement & presence
scs.bypass.ban, scs.bypass.enter, scs.bypass.leave, scs.bypass.teleport (legacy 2.4.x alias, kept for back-compat), scs.bypass.natural_teleport, scs.bypass.other_teleport, scs.bypass.fly, scs.bypass.sleep, scs.bypass.crouch, scs.bypass.use_portal
Block & container
scs.bypass.place_block, scs.bypass.destroy_block, scs.bypass.destroy_spawners, scs.bypass.use_bucket, scs.bypass.trample_crops, scs.bypass.ignite_block, scs.bypass.interact_chest, scs.bypass.interact_trap_chest, scs.bypass.interact_ender_chest, scs.bypass.interact_barrel, scs.bypass.interact_shulker_box, scs.bypass.interact_hopper, scs.bypass.interact_dropper, scs.bypass.interact_dispenser, scs.bypass.interact_furnace, scs.bypass.interact_blast_furnace, scs.bypass.interact_smoker, scs.bypass.interact_brewing_stand, scs.bypass.interact_anvil, scs.bypass.interact_enchanting_table, scs.bypass.interact_beacon, scs.bypass.interact_smithing_table, scs.bypass.interact_loom, scs.bypass.interact_cartography_table, scs.bypass.interact_stonecutter, scs.bypass.interact_grindstone, scs.bypass.interact_crafting_table, scs.bypass.interact_composter, scs.bypass.interact_cauldron, scs.bypass.interact_jukebox, scs.bypass.interact_lectern_read, scs.bypass.interact_lectern_take, scs.bypass.interact_bookshelf, scs.bypass.interact_decorated_pot, scs.bypass.interact_flower_pot, scs.bypass.interact_brush_block, scs.bypass.interact_candle, scs.bypass.interact_campfire, scs.bypass.interact_bell, scs.bypass.interact_dragon_egg, scs.bypass.interact_shelf, scs.bypass.interact_vault, scs.bypass.interact_trial_spawner, scs.bypass.interact_spawner, scs.bypass.interact_command_block, scs.bypass.interact_jigsaw, scs.bypass.interact_structure_block, scs.bypass.interact_target_block, scs.bypass.interact_sculk_catalyst, scs.bypass.interact_sculk_shrieker, scs.bypass.interact_painting, scs.bypass.interact_sign, scs.bypass.interact_bed
Redstone & doors
scs.bypass.interact_button, scs.bypass.interact_lever, scs.bypass.interact_pressure_plate, scs.bypass.interact_tripwire, scs.bypass.interact_comparator, scs.bypass.interact_repeater, scs.bypass.interact_note_block, scs.bypass.interact_door, scs.bypass.interact_trapdoor, scs.bypass.interact_fence_gate, scs.bypass.sculk_sensor_trigger
Entities
scs.bypass.place_entity, scs.bypass.destroy_entity, scs.bypass.interact_entity, scs.bypass.damage_entity, scs.bypass.shear_entity, scs.bypass.feed_entity, scs.bypass.ride_entity, scs.bypass.mount_entity, scs.bypass.lead_entity, scs.bypass.name_tag_entity, scs.bypass.breed_entity, scs.bypass.tame_entity, scs.bypass.milk_entity, scs.bypass.capture_entity, scs.bypass.interact_villager, scs.bypass.trade_wandering_trader
Decorations & vehicles
scs.bypass.place_armor_stand, scs.bypass.destroy_armor_stand, scs.bypass.interact_armor_stand, scs.bypass.place_item_frame, scs.bypass.destroy_item_frame, scs.bypass.interact_item_frame, scs.bypass.place_painting, scs.bypass.destroy_painting, scs.bypass.place_vehicle, scs.bypass.destroy_vehicle, scs.bypass.interact_vehicle
Item usage
scs.bypass.use_bow_crossbow, scs.bypass.use_trident, scs.bypass.use_ender_pearl, scs.bypass.use_chorus_fruit, scs.bypass.use_firework, scs.bypass.use_fishing_rod, scs.bypass.use_wind_charge, scs.bypass.use_shield, scs.bypass.use_elytra, scs.bypass.use_potion, scs.bypass.use_spyglass, scs.bypass.use_brush, scs.bypass.use_bundle, scs.bypass.use_map, scs.bypass.use_fire_charge, scs.bypass.use_snowball, scs.bypass.use_egg
Player actions
scs.bypass.pickup_item, scs.bypass.drop_item, scs.bypass.exp_drop_pickup, scs.bypass.eat, scs.bypass.drink, scs.bypass.totem_use, scs.bypass.frostwalker, scs.bypass.projectile_launch, scs.bypass.equip_armor, scs.bypass.equip_item, scs.bypass.receive_beacon_effects, scs.bypass.natural_health_regen
Misc
Two nodes sit outside the scs.bypass.* tree (and outside the wildcard) but follow the same idea:
scs.delay.bypass— holders can spam/claimactions without hitting the configured cooldown between two claims.claim.fly.infinite— note theclaim.prefix (notscs.). Defaultfalse. Grants unlimited/claim flytime inside the player's own claims; the action-bar timer is replaced with the infinity symbol.
Public warps
One dedicated node controls the public-warp visit fee:
scs.bypass.warp-cost— skip the Vault fee charged on/claim visitwhen the target claim hasvisitPrice > 0. Members of the claim and OPs already bypass the fee automatically; this node is for ranks (VIP, staff) that should visit any warp for free without granting fullscs.admin.
Bypass nodes are checked before the per-claim role lookup, so they short-circuit even fast-path code (movement, redstone, hoppers). Granting scs.bypass.* to a busy listener-heavy account has zero measurable cost: the lookup is a single hash hit on the player's permission map.
scs.claim.* (player command gating)
One node per /claim subcommand. The full list lives in the Player Commands table. The wildcard scs.claim.* grants the entire family. The bare scs.claim node is what unlocks the /claim command itself and is shipped with default: true in plugin.yml.
Common patterns:
- Default rank: keep the shipped
scs.claimdefault and selectively grant subcommands likescs.claim.list,scs.claim.menu,scs.claim.invite,scs.claim.tp. - Donor / VIP rank: add the higher-tier subcommands
scs.claim.fly,scs.claim.auto-fly,scs.claim.template,scs.claim.favorite,scs.claim.respawn. - Staff: simply grant
scs.claim.*.
scs.admin.* (admin command gating)
One node per /scs subcommand. The bare scs.admin node (declared in plugin.yml, default op) gates the /scs command itself. Each subcommand additionally checks scs.admin.<sub> so you can hand out individual capabilities without unlocking the full admin surface.
| Node | Subcommand |
|---|---|
scs.admin.reload | /scs reload |
scs.admin.docs | /scs docs |
scs.admin.home-gui | Open another player's home GUI from the claims browser (shift+right-click, default op). |
scs.admin.delete-gui | Delete a single claim from the claims browser (shift+left-click, default op). |
scs.admin.delete-all-gui | Delete every claim of a player from the claims browser (shift+left-click, default op). |
scs.admin.metrics:claims | /scs metrics:claims |
scs.admin.metrics:players | /scs metrics:players |
scs.admin.player | /scs player ... (all variants) |
scs.admin.manage-claim | /scs manage-claim [action] (claim-at-location admin actions, 2.5.0+) |
scs.admin.viewrequnclaim | /viewrequnclaim staff GUI (2.5.0+) |
scs.admin.unclaimrequest.notify | Receive chat notifications when a player submits a new /requnclaim (default op, 2.5.0+) |
scs.admin.unclaimrequest.review | Approve or deny requests from the /viewrequnclaim GUI (default op, 2.5.0+) |
scs.admin.setexpulsionlocation | /scs setExpulsionLocation |
scs.admin.clearredis | /scs clearRedis |
scs.admin.exportauditlogs | /scs exportAuditLogs ... |
scs.admin.resetpermissionsflagsforallplayerclaims | /scs resetPermissionsFlagsForAllPlayerClaims |
scs.admin.resetpermissionsforallplayerclaims | /scs resetPermissionsForAllPlayerClaims |
scs.admin.resetflagsforallplayerclaims | /scs resetFlagsForAllPlayerClaims |
scs.admin.resetallplayersettings | /scs resetAllPlayerSettings |
scs.admin.resetpermission | /scs resetpermission <permission> |
scs.admin.resetflag | /scs resetflag <flag> |
scs.admin.resetrole | /scs resetrole <role> |
scs.admin.dashboard | /scs dashboard |
scs.admin.update | /scs update |
scs.admin.importfromv1 | /scs importFromV1 |
scs.admin.importfromgriefprevention | /scs importFromGriefPrevention |
scs.admin.importfromlands | /scs importFromLands |
scs.admin.importfromtowny | /scs importFromTowny |
scs.admin.transferlocaltodistant | /scs transferLocalToDistant |
scs.admin.transferdistanttolocal | /scs transferDistantToLocal |
scs.admin.forcewarp | /scs forceWarp <player> <claim> |
scs.admin.* grants the entire admin surface plus implicit access to every scs.permission.* / scs.flag.* toggle (the GUI gating short-circuits to true for admin-wildcard holders). Reserve it for trusted staff.
The other admin entry points /scs help and /parea are gated by the parent nodes scs.admin and scs.admin.parea respectively (both declared in plugin.yml, default op).
Adding Permissions with LuckPerms
LuckPerms is the recommended permissions plugin for SCS2: it exposes a clean command-line interface for granting nodes, supports inheritance and per-world/per-server contexts, and ships a web editor for bulk edits. The recipes below cover the typical SCS2 setup. Replace default, vip, staff with whatever group names you use.
1. Bootstrap: the default rank
This is the most important step on a fresh install: without these two nodes, regular players cannot configure the toggles in their own claims.
# Let everyone toggle every permission/flag in their claim GUI
/lp group default permission set scs.permission.* true
/lp group default permission set scs.flag.* true
# (optional) Common subcommands. Most inherit from scs.claim/scs.unclaim/scs.claims
# which ship with default: true, but you may want to gate higher-tier ones explicitly:
/lp group default permission set scs.claim.list true
/lp group default permission set scs.claim.menu true
/lp group default permission set scs.claim.invite true
/lp group default permission set scs.claim.tp true
/lp group default permission set scs.claim.see true
2. VIP / donor rank: extra perks
/lp group vip parent add default
# Larger limits (pick whichever number fits your economy)
/lp group vip permission set scs.limit.claims.10 true
/lp group vip permission set scs.limit.chunks.500 true
/lp group vip permission set scs.limit.radius.5 true
/lp group vip permission set scs.limit.members.20 true
/lp group vip permission set scs.limit.fly.300 true
# QoL features locked behind the rank
/lp group vip permission set scs.claim.fly true
/lp group vip permission set scs.claim.auto-fly true
/lp group vip permission set scs.claim.template true
/lp group vip permission set scs.claim.favorite true
/lp group vip permission set scs.claim.respawn true
/lp group vip permission set scs.claim.set-icon true
3. Staff: granular admin access
Three patterns, pick one:
# Pattern A: full admin (single line, easiest)
/lp group staff permission set scs.admin.* true
# Pattern B: bypass-only (no admin commands, but free movement / edits everywhere)
# Useful for backup / build accounts that should ignore claim restrictions
# without seeing the /scs admin menus.
/lp group staff permission set scs.bypass.* true
# Pattern C: granular (only specific tools)
/lp group moderator permission set scs.admin true # /scs itself
/lp group moderator permission set scs.admin.player true # manage other players' claims
/lp group moderator permission set scs.admin.exportauditlogs true # CSV exports
/lp group moderator permission set scs.admin.metrics:claims true # read-only metrics
/lp group moderator permission set scs.admin.metrics:players true
/lp group moderator permission set scs.bypass.enter true # walk into any claim
/lp group moderator permission set scs.bypass.teleport true # /spawn/tp anywhere
/lp group moderator permission set scs.bypass.ban true # ignore per-claim bans
4. Per-player overrides
# Bump one player above their group's default
/lp user Notch permission set scs.limit.chunks.1000 true
# Temporary perk (24h)
/lp user Steve permission settemp scs.claim.fly true 24h
5. Per-world rules
LuckPerms contexts let you scope a node to a single world, useful when claims are only allowed in survival but not in creative or resource:
# Allow claiming only in the survival world
/lp group default permission set scs.claim true world=survival
/lp group default permission set scs.claim false world=resource
6. Verifying the setup
# Inspect what a player effectively has
/lp user Notch permission info
# Check a single node
/lp user Notch permission check scs.permission.place_block
# Web editor for bulk edits
/lp editor
Limit nodes pick the highest match. A player who inherits scs.limit.claims.5 from default and scs.limit.claims.50 from vip ends up with 50. You don't need to remove the lower one when granting a higher one.
Limit nodes (scs.limit.<type>.<amount>) and admin commands (/scs player <name> set-...) cannot be used together: pick one source of truth per server. See the Limits section.