Alpha-systemv1.0.0

Permissions

Every node defaults to op unless marked default: true below (granted to everyone automatically, no permission plugin required). Full raw list lives in plugin.yml — this page organizes it by intent.

Default: true (everyone)

These work out of the box for any player, with no permissions plugin at all.

NodeGrants
alphasystem.back/back
alphasystem.crafting/crafting
alphasystem.anvil/anvil
alphasystem.echest/enderchest
alphasystem.fixhand/fixhand
alphasystem.fixall/fixall
alphasystem.msg/msg, /r
alphasystem.spawn/spawn
alphasystem.baltop/baltop
alphasystem.money/money (own balance only)
alphasystem.pay/pay
alphasystem.report/report

Staff-only nodes

NodeGrants
alphasystem.admin/as itself, /as reload, /as diagnostics
alphasystem.chat.admin/sc
alphasystem.chat.manager/mc
alphasystem.chat.deletethe [x] chat delete button
alphasystem.chat.filter.alertsee chat-filter catch alerts
alphasystem.ban / .unban/ban, /tempban, /banip / /unban
alphasystem.mute / .unmute/mute, /tempmute / /unmute
alphasystem.warn / .unwarn/warn / /unwarn
alphasystem.jail / .unjail / .setjail/jail / /unjail / /setjail
alphasystem.punish.info/checkban, /checkmute, /checkwarn, auto-see full details on punishment broadcasts
alphasystem.punish.history/banhistory, /mutehistory, /warnhistory, /jailhistory
alphasystem.broadcastmsg/bossbarmsg, /titlemsg, /actionbarmsg
alphasystem.restart/restart
alphasystem.warpset/setwarp, /delwarp
alphasystem.setspawn / .spawnpointset / .spawnpointspawn-point management commands
alphasystem.time/time and every day/night preset
alphasystem.weather/weather
alphasystem.staff.alts/alts + the join alert when an alt connects
alphasystem.staff.whois/whois — including seeing the target's IP
alphasystem.staff.reportalertsee incoming /report alerts as they happen
alphasystem.staff.socialspy/socialspy — deliberately not bundled with any other node
alphasystem.staff.maintenancefull /maintenance control (local + network)
alphasystem.staff.clientbrandsee a player's launcher/client brand when they join
alphasystem.invsee / .invedit/invsee / /invedit
alphasystem.enderchestsee / .enderchestedit/enderchestsee / /enderchestedit
alphasystem.invedit.clear / .enderchestedit.clearthe "clear everything" button inside those GUIs

"Do to others" nodes

A recurring pattern: the base node covers acting on yourself, the .others variant covers acting on another player. Both default to op.

SelfOthers
alphasystem.gmalphasystem.gm.others
alphasystem.healalphasystem.heal.others
alphasystem.feedalphasystem.feed.others
alphasystem.godalphasystem.god.others
alphasystem.flyalphasystem.fly.others
alphasystem.killalphasystem.kill.others
alphasystem.pingalphasystem.ping.others
alphasystem.tpalphasystem.tp.others
alphasystem.moneyalphasystem.money.others

/heal all and /feed all also require the respective .others node — "all" is treated as acting on other players, not yourself.

Bypass nodes

Skip a teleport's movement-cancellable warmup countdown entirely.

NodeSkips the warmup on
alphasystem.back.bypasswarmup/back
alphasystem.spawn.bypasswarmup/spawn
alphasystem.warp.bypasswarmup/warp

Private warps

as.warp.*        # access to every private warp
as.warp.<name>   # access to one specific private warp, e.g. as.warp.vault

Granted per-warp through your permissions plugin — these aren't pre-registered in plugin.yml since the actual set of warps is dynamic and created at runtime with /setwarp.

Remapping permission nodes

config.yml's permissions: section lets an admin repoint what node a command actually checks, without touching plugin.yml or rebuilding the plugin:

permissions:
  ban: alphasystem.ban
  unban: alphasystem.unban
  invsee: alphasystem.invsee
  whois: alphasystem.staff.whois
  socialspy: alphasystem.staff.socialspy
  maintenance: alphasystem.staff.maintenance
  # ... 40+ more entries, one per remappable command

In code, this is a single helper every remappable command routes through:

public boolean hasConfigPermission(CommandSender sender, String key, String defaultNode) {
    return sender.hasPermission(getConfig().getString("permissions." + key, defaultNode));
}

Change the value on the right of any entry to have that command check a completely different node — useful if your permissions plugin's naming convention doesn't match alphasystem.*, or if you want to fold several Alpha-system commands under one existing group node. Not every command is remappable this way — a handful of simple always-op utility commands (like the gamemode shortcuts) check a hardcoded node directly instead.