AlphaWildSystemDocs v2.1.0
AlphaWildSystemGuidesPvP & Arena

PvP & Arena

The PvP features that make this a kit-driven arena server rather than a utility plugin.

On this page

Region & Arena Regen /region, /awild region

The plugin splits the world into two WorldGuard regions: spawn (a safe zone — no PvP, no block breaking/placing, a blocked-items list) and arena (the PvP zone, periodically regenerated).

CommandUsagePermissionDescription
/region setspawn<worldguard-region>alphawildsystem.regionAssign a WorldGuard region as the safe-zone spawn.
/region setarena<worldguard-region>alphawildsystem.regionAssign a WorldGuard region as the arena. Immediately snapshots it for future regen.
/region regenalphawildsystem.regionManually trigger an arena regeneration right now, instead of waiting for the scheduled interval.
Run /region from inside the arena's world. The plugin remembers whichever world you were standing in when you ran the command, and only searches that world for the named regions. If your arena lives in a dedicated world (e.g. arena_test) instead of the main world, running /region from the wrong world is why you'd see "no WorldGuard region found" even though it exists.
region:
  world: ""            # written automatically by /region
  spawn-name: ""
  arena-name: ""

spawn:
  blocked-items: [TNT, FLINT_AND_STEEL, LAVA_BUCKET, WATER_BUCKET]

max-build-height: 150   # -1 disables the cap — stops sky-base/tower stalling in the arena

regen:
  enabled: true
  interval: "20m"        # how often the arena auto-restores to its last snapshot
  lift-above-y: 120.0    # players caught inside are lifted clear a moment before restore
  blocks-per-tick: 20000 # restore budget per tick, keeps huge arenas from freezing the server

TNT placed inside the arena auto-ignites immediately (no flint & steel needed) — configurable fuse via tnt-fuse-ticks (default 80 = 4 seconds, matching vanilla lit TNT).

Combat & Kill Rewards

Landing a hit on another player starts a combat tag on both of you. Getting tagged blocks every command except a configurable allowlist, so logging out or teleporting away does not save you from a fight already in progress.

combat:
  combat-seconds: 15                 # tag duration; another hit refreshes it for both players
  kill-reward-ruby: 5.0              # rubies credited for every PvP kill, 0 disables it
  kill-broadcast: true               # announce every PvP kill server-wide
  killstreak-broadcast: true         # announce streak milestones
  killstreak-milestone-start: 20     # first milestone, then 40, 80, 160, 320 ...
  logout-opponent-sound: true        # sound for the last opponent when someone combat-logs
  logout-opponent-sound-type: "ENTITY_EXPERIENCE_ORB_PICKUP"
  logout-opponent-sound-volume: 0.6
  logout-opponent-sound-pitch: 1.2
  allowed-commands: [msg, r, tell, whisper, m]

Kill reward milestones /killrewards

A claimable menu of lifetime PvP kill milestones, tracked with the vanilla player_kills statistic, the same number the scoreboard shows. Each tier can be claimed once per player and pays ruby tokens.

KillsRewardKillsReward
5156001,800
10308002,400
25751,0003,000
501501,5004,500
1003002,0006,000
1504503,0009,000
3009004,00012,000

The tiers live in kill-rewards.yml as - {kills: 5, reward: 15} entries, plus a title for the menu. Add, remove or change them freely.

Stats menu /stats

/stats opens a 27-slot summary of a player's PvP record, centred on their head:

SlotShows
KillsLifetime kills (vanilla player_kills).
DeathsLifetime deaths.
K/D ratioKills per death. With no deaths it equals the kill count.
Current streakKills since the last death.
Best streakHighest streak ever reached.
BalanceRuby token balance.

/stats needs alphawildsystem.stats (everyone by default). /stats <player> shows someone else's and needs alphawildsystem.stats.others (op by default). The layout is built in and not configurable.

Kits /give kit

Every death (and /give <player> kit) rolls a fresh random kit — one random item per category, plus a random amount of blocks/explosives, from kits.yml. Enchant strength scales the opposite way from material tier, so the best material doesn't also roll the best enchants:

enchant-tiers:
  netherite: {protection: 1, sharpness: 1}   # weakest enchants — stats already win
  diamond:   {protection: 2, sharpness: 2}
  iron:      {protection: 3, sharpness: 3}
  gold:      {protection: 3, sharpness: 3}
  chainmail: {protection: 4, sharpness: 4}   # strongest enchants — stats already lose

blast-protection-chance: 20   # % chance a NON-netherite armor piece also rolls Blast Protection

Rolled per kit

  • Helmet / chestplate / leggings / boots (chainmail → netherite)
  • Sword or axe, offhand (totem/shield/golden carrot/none)
  • Bow or crossbow + 64 arrows
  • Pickaxe (Efficiency II)
  • Food, building blocks (2 rolls), explosives (2-7)
  • One random enabled custom item

/give in detail

/give <item|kit> <player> — kit rolls a fresh random kit exactly like a death would; any other value is treated as a specific item or custom-item id (e.g. /give dash Steve).

A player's very first join also grants a random kit.

Custom Items

Ten special items usable only inside the arena. One is rolled into every kit; admins can hand out a specific one with /give <id> <player>. Set enabled: false on any item in custom-items.yml to pull it from the kit roll and stop /give from handing it out.

ItemMaterialEffect
dynamiteBlaze RodLaunches TNT at your enemies.
dashFeatherLaunches you in the direction you're facing.
speed-sugarSugarShort Speed III buff (5s).
strength-dyeOrange DyeShort Strength II buff (5s).
swapper-ballSnowballThrow to swap locations with whoever it hits.
explosive-eggsEggThrow to teleport onto the hit target while dealing heavy damage (8 hearts default).
smoke-bombGunpowderLaunches a cloud that blinds and nauseates anyone caught inside.
grappling-hookNautilus ShellPulls you toward whatever you're looking at (20-block range).
adrenaline-shotGhast TearInstant heal + short Regeneration buff.
flareGlowstone DustMakes nearby enemies glow through walls.

Each item has its own cooldown-seconds plus item-specific tuning (throw-speed, force, radius, range, damage, duration-seconds, etc.) in custom-items.yml.

Token Shop /shop, /sh

A ruby token shop driven entirely by shop.yml. The main menu lists the categories in the order you write them, and each category opens its own pages with 18 items per page and previous and next buttons, so nothing is ever cut off. Prices are read each time a menu opens, so /awild reload is enough after an edit. Purchases are blocked when the inventory is full, and the price is taken before the item is handed over.

CategoryItems shippedWhat is in it
Special items10The plugin's own arena items: dash, speed sugar, strength dye, flare, swapper ball, smoke bomb, dynamite, grappling hook, explosive eggs, adrenaline shot.
Mystery crates1The mystery crate.
Armor20Full helmet, chestplate, leggings and boots sets in netherite, diamond, iron, gold and chainmail, with enchants.
Weapons9Netherite, diamond and iron swords and axes, a netherite pickaxe, a bow and a crossbow.
Misc3Totem of undying, golden apple and shield.
Explosives3TNT, cobweb and fire charge.
Foods2Cooked beef and golden carrots.
Storage3Shulker box, ender chest and bundle.
Potions3Real drinkable potions: Strength, Speed and Fire Resistance.

Every entry is exactly one of these forms. All entries also take amount, price, name and an optional lore:

items:
  - {material: NETHERITE_HELMET, amount: 1, price: 180, enchants: {PROTECTION: 2}}
  - {custom-item: dash, amount: 1, price: 15}          # an arena item from custom-items.yml
  - {crate: true, amount: 1, price: 300}               # a mystery crate from crates.yml
  - {potion-effect: SPEED, level: 2, duration-seconds: 180, amount: 1, price: 25}

A custom item or crate keeps its own name, lore and icon. A potion entry builds a real drinkable potion with the effect, level and duration you give.

Mystery crates

A crate is an item players right-click to open an animated roulette that lands on a reward tier. Players get one by buying it in the shop (300 rubies by default) or with a small chance on every PvP kill. Closing the menu or disconnecting during the animation still grants whatever tier was already rolled, so nothing is lost by skipping it.

settings:
  enabled: true
  kill-drop-chance: 4.0        # % chance a PvP kill drops a free crate for the killer
  spin-frames: 24              # longer = more suspense
  broadcast-legendary: true    # announce legendary pulls
  animation-style: circular    # single | circular | linear
AnimationLooks like
singleOne slot of a small 9-slot menu cycles through tiers and slows to a stop.
circularA token chases around the border of a 27-slot menu like a roulette wheel.
linearA strip of icons scrolls past a fixed centre slot in a 27-slot menu.

Tiers

Each tier's weight is its relative chance, so a higher weight is more common. The odds below are the shipped weights out of a total of 100.

TierWeightReward
Common5030 to 60 rubies
Uncommon2770 to 120 rubies
Rare13One random item from custom-items.yml
Epic7250 to 400 rubies
Legendary3600 to 1,000 rubies, plus a bonus random kit

A tier has reward-type ruby (a random amount between ruby-min and ruby-max) or item (one random enabled custom item). color is either a flat &#RRGGBB value or a <gradient:#RRGGBB:#RRGGBB> tag. The leading & is required, a bare #RRGGBB is not recognised. head is a base64 player-head texture, and icon is the plain material used if a head is missing or fails to apply.

Chat color /chatcolor, /cc

Opens a menu of two-stop gradients. Picking one applies it to that player's own chat messages from then on. Add, remove or recolour options in chatcolors.yml.

title: "&#2E9BFFᴄʜᴀᴛ ᴄᴏʟᴏʀ"
colors:
  red:    {material: RED_CONCRETE, label: "ʀᴇᴅ", start: "#BD0000", end: "#FF3333"}
  warden: {material: SCULK_CATALYST, label: "ᴡᴀʀᴅᴇɴ", start: "#0E5B64", end: "#2AE7F5", permission: "alphawildsystem.chatcolor.warden"}

Fourteen presets ship: red, blue, light, yellow, orange, pink, brown, purple, green, lime, cyan, end, halloween and warden. The last three have their own permission nodes.

Clear Lag

Every interval-minutes, all dropped items on the ground are swept server-wide — with a warning 15 seconds ahead of time so nobody loses something they just dropped mid-fight. /clearlag only toggles a player's own warning message; the sweep itself always runs for everyone regardless.

clearlag:
  enabled: true
  interval-minutes: 5

Totem Practice /totempractice

A whack-a-mole reflex minigame — click the totem before it moves. Useful for players practicing totem-popping timing outside of a real fight.