Alpha WildPvPv1.0.0

Permissions

Every node defaults to op unless marked default: true below. Full raw list lives in plugin.yml — this page organizes it by intent.

Default: true (everyone)

NodeGrants
alphawildsystem.echest/enderchest
alphawildsystem.fixhand/fixhand
alphawildsystem.fixall/fixall
alphawildsystem.msg/msg, /r
alphawildsystem.spawn/spawn
alphawildsystem.baltop/baltop
alphawildsystem.money/money (own balance only)
alphawildsystem.pay/pay
alphawildsystem.report/report
alphawildsystem.shop/shop
alphawildsystem.killrewards/killrewards
alphawildsystem.chatcolor/chatcolor

Staff-only nodes

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

PvP & Arena

NodeGrants
alphawildsystem.region/region setspawn / setarena / regen
alphawildsystem.give/give <item|kit> <player>
alphawildsystem.build.bypassBuild/break anywhere, ignoring the spawn/arena split entirely
alphawildsystem.combat.bypassUse any command while combat-tagged (staff-only bypass)

"Do to others" nodes

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

SelfOthers
alphawildsystem.gmalphawildsystem.gm.others
alphawildsystem.healalphawildsystem.heal.others
alphawildsystem.feedalphawildsystem.feed.others
alphawildsystem.godalphawildsystem.god.others
alphawildsystem.flyalphawildsystem.fly.others
alphawildsystem.killalphawildsystem.kill.others
alphawildsystem.pingalphawildsystem.ping.others
alphawildsystem.tpalphawildsystem.tp.others
alphawildsystem.moneyalphawildsystem.money.others

Bypass nodes

NodeSkips the warmup on
alphawildsystem.spawn.bypasswarmup/spawn
alphawildsystem.warp.bypasswarmup/warp

Private warps

as.warp.*        # access to every private warp
as.warp.<name>   # access to one specific private warp

Granted per-warp through your permissions plugin — not pre-registered in plugin.yml since the set of warps is dynamic.

Remapping permission nodes

config.yml's permissions: section repoints what node a command actually checks, without touching plugin.yml or rebuilding:

permissions:
  ban: alphawildsystem.ban
  region: alphawildsystem.region
  shop: alphawildsystem.shop
  killrewards: alphawildsystem.killrewards
  chatcolor: alphawildsystem.chatcolor
  # ... 50+ more entries, one per remappable command

In code, every remappable command routes through one helper:

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