RandomKits
A complete KitPVP minigame for Paper 1.21.x
⚔ OVERVIEW
RandomKits is a fully self-contained KitPVP plugin. Drop it in, run /rk setspawn, create your first kit with /rk kit create, and your server is ready to play — no external database, no economy plugin required.
Each player receives a random themed kit when they join for the first time or respawn after dying. Kill streaks persist across sessions, XP and coins are tracked per player, and the arena automatically regenerates on a configurable cycle.
✦ FEATURES
Kit System
- Random themed kits — each player receives a different kit on spawn and respawn
- Global mode — all players share the same kit, rotating on a configurable timer
- In-game kit editor GUI — create and edit kits directly from your inventory, no YAML editing required
- Kit chance system — assign a weight to each kit so some appear more often than others, configurable in the GUI or YAML
- Kits support armor, items, offhand and console commands on assignment
Kill Streaks
- Per-player kill streak counter, displayed as a bossbar or actionbar
- Streaks only reset when killed by another player — not by fall damage, void, or environmental deaths
- Streaks persist across sessions — reconnecting does not reset your streak
- Configurable milestone broadcasts with economy bonuses at 5, 10, 15, 25, 50 kills (fully customizable)
Economy
- Built-in coin economy — no Vault or EssentialsX required
- Optional Vault integration — configure economy.provider: VAULT to use your existing economy plugin
- VIP coin multiplier — players with configurable permissions receive a multiplier on kill rewards
- Coins rewarded per kill and at streak milestones
- Admin commands to give, take, set and check any player's balance
XP & Level System
- Players earn XP per kill (configurable)
- Every 100 XP (configurable) advances one level
- Progress displayed on the vanilla Minecraft XP bar — no extra UI needed
- Level rewards — configure coin bonuses and console commands at specific levels
- Levels and XP persist across sessions via SQLite
Scoreboard & Tab
- Per-player sidebar scoreboard showing kills, deaths, streak, coins, level and XP
- Tab header and footer with live stats
- Flicker-free scoreboard using the Team pattern
- Players with permission can toggle their scoreboard on/off with /sb
- Fully customizable in lang.yml — colors, icons, line order, everything
Arena & Map Regeneration
- Define your arena region with an in-game wand (no WorldEdit required)
- Only blocks modified during gameplay are tracked and restored — not a full snapshot
- Doors, beds, tall plants and double-height blocks restore correctly
- Fire from explosions and fireballs is tracked and cleaned up on regen
- Regeneration runs in batches to minimize server lag
- Dirty blocks persist to disk — arena restores correctly even after a server restart
- Edit mode for admins — modify the arena without changes being tracked
- Configurable regeneration interval and TNT fuse time + placement cooldown
Combat Mechanics
- Fire charge (fireball) support — right-click to launch, restricted to the arena region
- Configurable fireball cooldown, speed, yield and incendiary effect
- TNT auto-ignites when placed inside the arena, with configurable fuse time and placement cooldown
- Ender pearl cooldown — configurable seconds between throws
Player Data & Database
- SQLite database — zero configuration, works out of the box
- Saves kills, deaths, XP, level, streak and coins per player
- Stats are saved after every kill/death for durability — not just on logout
- Automatic migration for existing databases when new columns are added
PlaceholderAPI Support
- %randomkits_kills% — total kills
- %randomkits_deaths% — total deaths
- %randomkits_streak% — current kill streak
- %randomkits_level% — current level
- %randomkits_xp% — current XP within level
- %randomkits_coins% — coin balance
Other
- /spawn command with configurable delay and cooldown — cancels if the player moves
- Kill and death particle effects (fully configurable)
- Auto-respawn with configurable delay
- Join and quit messages suppressed — clean chat
- Auto-update config/lang — new keys are automatically added on startup, no need to delete config files on updates
- Full lang.yml support — every message is customizable
⚙ REQUIREMENTS
- Paper 1.21.x (or any fork — Purpur, Pufferfish, etc.)
- Java 21+
- Vault + economy plugin — optional, only if you prefer using your existing economy
- PlaceholderAPI — optional, only if you want to use %randomkits_*% in other plugins
Player commands
Code:
/spawn — Teleport to spawn (cooldown + movement cancel)
/sb — Toggle your scoreboard on/off (requires permission)
Admin commands (requires randomkits.admin — default: OP)
Code:
/rk setspawn — Set the KitPVP spawn point at your location
/rk kit create <name> — Create a kit from your current inventory
/rk kit delete <name> — Delete a kit
/rk kit edit <name> — Open the in-game kit editor GUI
/rk kit list — List all configured kits
/rk kit give <player> [kit]— Give a kit to a player (random if no kit specified)
/rk arena wand — Get the arena selection wand
/rk arena regen — Force an immediate arena regeneration
/rk arena editmode — Toggle edit mode (bypass block tracking)
/rk coins give <p> <amt> — Give coins to a player
/rk coins take <p> <amt> — Take coins from a player
/rk coins set <p> <amt> — Set a player's coins
/rk coins check <p> — Check a player's coin balance
/rk reload — Reload all configuration files
Permissions
Code:
randomkits.admin — Access to all admin commands (default: OP)
randomkits.play — Allows playing RandomKits (default: true)
randomkits.togglesb — Allows toggling the scoreboard with /sb (default: false)
randomkits.vip — 2x coin multiplier on kills (configurable in config)
randomkits.mvp — 3x coin multiplier on kills (configurable in config)
🛠 SETUP GUIDE
- Drop RandomKits.jar into your plugins/ folder and start the server.
- Stand at your desired spawn point and run /rk setspawn.
- Equip the items and armor you want for a kit, then run /rk kit create <name>.
- Repeat step 3 for each kit you want. Players will receive random kits.
- Get the arena wand with /rk arena wand. Left-click to set Pos1, right-click to set Pos2.
- Done! Players can now join and play.
⚠ Edit Mode note: Only use /rk arena editmode to edit the arena map when no players are online.
For support, questions or feature requests, join our Discord:
discord.velixplay.net
