ChaosPVP
A PVP plugin with 16 unique character classes for Minecraft Paper 1.21.11 servers.
Features
- 16 Unique Professions: Inspector, Scientist, Plaguebringer, Shield Soldier, Critical Cutter, Navigator, Captain, Creature, Juggler, Dragonwrath, Undead, Stamper, Time Marker, Horseman, Vitality Cutter, Marathoner
- Class-Specific Abilities: Each class has unique items, abilities, and passive effects
- Resource Collection System: Collect resources to unlock powerful ultimate abilities (Swordsman, Scientist, etc.)
- Cooldown Management: Balanced ability cooldowns displayed via action bar and chat
- Team & Solo Modes: Supports both draft pick team mode and solo free-for-all
- Practice Mode: Test classes individually for 5 minutes (same mechanics as real game)
- Auto-Save Data: All map and lobby settings are automatically saved in real-time
- Game Duration: 10-minute matches
Class Overview
Swordsman
A melee combat specialist using various swords.
- Passive: +1 bonus damage with stone sword attacks
- Diamond Sword: Right-click for forward attack - 8 damage (4 hearts), 12.5s cooldown, grants netherite scrap on hit
- Ultimate: Netherite Sword - 4 base + 16 instant damage (collect 3 netherite scraps, max 1, single use)
Scientist
A support class with random potion abilities and mobility.
- Passive: Speed I (0.5s) when throwing items
- Ability: Generate random splash potion every 7.5s (max 3)
- Ultimate: Lingering area potion - 7 block diameter, 8s duration, heals self + damages enemies (collect 9 ultimate materials)
Plague Spreader
Controls areas with poison immunity and toxic fields.
- Passive: Immune to poison damage
- Poison Engine: Generated every 20s (max 2), creates poison field for 10s (6 block diameter)
- Extreme Poison Engine: Generated every 100s (max 1), creates enhanced poison field for 10s (8 block diameter)
- Special: Speed buff in field, instant damage + weakness + poison to enemies
Shield Soldier
A tank class with defensive abilities and absorption mechanics.
- Passive: Gain 2 absorption hearts after 12s without taking damage (lasts 60s)
- Red Shield: Deal 6 damage to attacker when blocking, 6s cooldown
- Blue Shield: Gain 2 absorption hearts when blocking (lasts 10s), 11s cooldown
- Basic Shield: Apply weakness I (1.5s) to attacker when blocking, 4s cooldown
- Golden Shield: Auto-obtained at 12 HP or below, grants strength II + speed I + 6 absorption hearts (8s) when blocking, single use
Critical Cutter
A burst damage class with escalating critical hit mechanics.
- Passive: 5% base critical chance (increases by 1% per non-critical hit)
- Weapon: Critical Cutter Sword (5.0 damage = 2.5 hearts, same as stone sword)
- Special: Critical hits deal 2x damage + heal 2 HP (1 heart)
- Guaranteed Critical: Right-click for forward attack - 6 base + 6 instant damage + heal 6 HP, 25s cooldown
Navigator
A mobility class specialized in knockback and position control.
- Passive: Knockback I on sword
- Naval Weapon: Generated every 20s (max 3, durability 1) - 1 base + 4 instant damage, knockback II
- Wave Riding: Speed IV (1s), knockback + slowness V (1s) on collision, 12s cooldown
- Harpoon Throw: 6 damage + slowness V (1s), 15s cooldown (50% reduction on miss)
Captain
A team supporter who strengthens and assists teammates.
- Passive: Grant random teammate strength I (2s) when attacking enemies (self in solo mode)
- Captain's Command: Give teammates naval weapon + strength I (5s), 15s cooldown
- Captain's Harpoon: 4 damage, on hit: teammates get strength I (3s) + enemy gets weakness I (3s) + 3s cooldown reduction, 9s cooldown
Shapeshifter
A transformation class that evolves over time.
- Evolution Stages: Ocelot (0-1min) → Cow (1-2min) → Sniffer (2-4min) → Ravager (4min+)
- Ocelot: 5 hearts, speed III, weakness III
- Cow: 15 hearts, regenerate 1 heart every 3s, stone sword
- Sniffer: 25 hearts, resistance I, iron sword
- Ravager: 35 hearts, resistance II, strength I
- Charge: Available at all stages - speed V (0.4s), slowness V (0.5s) on collision, 7s cooldown
Juggler
A throwing specialist using various projectiles.
- Passive: No stone sword at start, gain 1 "Throw Time" every 60s (max 1)
- Light Thing: Throw snowball - 1 damage (0.5 hearts), no knockback, 4s cooldown (resets on hit)
- Heavy Thing: Throw wind charge - 8 damage (4 hearts), slowness V (1s) + blindness (1s), 13s cooldown
- Throw Time: Slowness V (2.5s) to all enemies within 10 blocks + reset light thing cooldown (consumable)
Dragon Fury
A class that collects fury to unleash powerful counterattacks.
- Passive: +1 fury when taking damage (max 30), auto-generate +1 every 8s
- Resistance by Fury: 0-10 fury = resistance I, 11-20 = resistance II, 21-30 = resistance III
- Fury Counterattack: Deal damage equal to fury count to nearest enemy within 5 blocks, heal fury/2 HP on kill, 30s cooldown
- Starting Items: Full iron armor set, permanent strength I + resistance I
Undead
A special class that overcomes death.
- Passive: Instantly revive on first death (once per game)
- Revival Effect: Revive with max health, gain speed I + strength II + resistance V
- Revival Penalty: Take 1 damage (0.5 hearts) every 0.25s starting 3s after revival (until second death)
Stamper
A class specialized in aerial mobility and fall attacks.
- Passive: No fall damage, deal 6 damage to enemies within 4 blocks when falling 3+ blocks (12 damage if hitbox overlaps)
- Stamp: Right-click heavy core - launch 10 blocks high, 20s cooldown
- Dive: Right-click heavy core - launch 40 blocks high, deal 16 damage to enemies within 20 blocks on landing (32 damage if hitbox overlaps), obtained every 200s (max 1, consumable)
Time Engraver
A class that manipulates time to control enemies.
- Passive: Immune to slowness
- Time Engraving: Completely freeze all enemies within 8 blocks for 2s + weakness I (1.5s), gain time capsules equal to hit count, 16s cooldown
- Clockhand Piercing: Throw arrow - 6 damage (3 hearts), 8 damage (4 hearts) + darkness/blindness (3s) to slowed targets, 12s cooldown (1s during eternal clock)
- Eternal Clock: Completely freeze all players and mobs for 8s + slowness V + darkness + blindness, freeze all projectiles (collect 7 time capsules, consumable)
Cavalry
A mobile class that rides a horse and roams the battlefield.
- Passive: Permanent Slow I Effect
- Horseback & Hippocampus: Summons a horse (shares health with the player). When mounted, restores 6 health (3 hearts), 22-second cooldown
- Sweep: Attacks a 3-block area in front - deals 6 damage (8 damage when mounted), 6-second cooldown (reduced by 1 second per hit, minimum 1 second)
- Special: When a horse takes damage, the player also takes half damage. When the horse dies, the player is automatically eliminated.
Marathoner
An endurance class that increases speed by running. - Passive: 5 seconds of sprinting → Swiftness I, 3.5 seconds more → Swiftness II, 3.5 seconds more → Swiftness III, 3.5 seconds more → Swiftness IV + Strength II
- Passive Remove: All buffs are removed upon stopping sprinting, taking damage, or jumping.
- Crouching Start: Swiftness III (0.5 seconds), 5 second cooldown.
Vitality Cutter
A life-sucking class that drains the life of enemies.
- Passive: No Stone Sword at start.
- Vitality Cutter: Left-click attacks inflict 1/6 of the target's current health as instant damage.
- Life Drain: Restores 1 HP (0.5 hearts) upon attack.
- Special: In team battles, the passive is not applied when attacking a teammate.
Installation
- Download the latest release
- Place the JAR file in your server's
pluginsfolder - Install Required Plugins:
- LibsDisguises (required for Shapeshifter class)
- ProtocolLib (LibsDisguises dependency)
- Install Optional Plugins (recommended):
- Multiverse-Core (for automatic world reset after games)
- Restart the server
- Check settings in
plugins/ChaosPVP/data.yml
Commands
Game Commands
/게임시작- Open class selection GUI/게임종료- End game and reset all players (admin)/게임모드 <팀전|개인전>- Set game mode (admin)
Practice Mode
/연습모드시작- Start practice mode (class selection)/연습모드종료- End practice mode/연습클래스- Change class in practice mode/연습모드 맵 <맵이름>- Set practice mode map (admin)/연습모드- Teleport to practice mode map
Map Management
/로비- Teleport to lobby/로비 지정- Set current location as lobby (admin)/로비제거- Remove lobby location (admin)/맵지정 [맵이름]- Set map spawn location (admin)/맵제거 <번호>- Remove map (admin)
Player Management
/인원제외 <플레이어명>- Exclude player from game (admin)/인원추가 <플레이어명>- Re-add excluded player (admin)
Other
/도움말- Display help message/입자끄기- Remove all poison fields (admin)/chaospvp- ChaosPVP main command (aliases: /cpvp, /cp)
Permissions
- chaospvp.use - Allow basic command usage (default: true)
- chaospvp.admin - Allow admin command usage (default: op)
Requirements
- Minecraft Server: Paper 1.21.11
- Java: 21 or higher
- Required Plugins:
- LibsDisguises (for Shapeshifter class)
- ProtocolLib (LibsDisguises dependency)
- Optional Plugins:
- Multiverse-Core (for automatic world reset after games)
Gameplay
Starting a Game
- Select mode with
/게임모드 팀전or/게임모드 개인전 - Start class selection with
/게임시작 - For team mode, select team in team selection GUI (draft pick system)
- Game starts automatically when all players are ready
During Game
- Game duration: 10 minutes
- Use each class's abilities to fight
- Collect resources to unlock ultimate abilities
- Last survivor or team wins
Practice Mode
- Start with
/연습모드시작or/연습모드 - Test classes individually
- Same mechanics as real game
- Change class anytime with
/연습클래스 - 5-minute cooldown (until next practice mode start)
Development
This plugin uses:
- Paper API 1.21.11 - Minecraft server integration
- LibsDisguises - Shapeshifter transformation feature
- Gradle 8.5 - Build automation
- Java 21 - Programming language
- JUnit 5 - Unit testing framework
- Mockito 5.8 - Mocking framework
- jqwik 1.8 - Property-based testing
Data Storage
All map and lobby settings are automatically saved to plugins/ChaosPVP/data.yml.
- Lobby location and name
- General map list (locations and names)
- Practice mode map (location and name)
Settings are automatically saved in real-time when changed and automatically loaded on server restart.
Balance Changes
v3.0.2(Latest)
Bug Fixes
Fixed Swordsman Passive: Fixed an issue where +1 additional damage was not applied to Stone Sword attacks.
Changed
ignoreCancelled = falseto apply to cancelled events.Manually check whether an event was canceled to apply only to normal attacks.
Fixed Critical Cutter Base Weapon Damage: Fixed the base weapon to deal 5 damage instead of 6.
Use an Iron Sword, but manually set the damage to 5.0 (same as Stone Sword).
Additional damage is now applied immediately based on the adjusted 5.0 damage when a critical hit occurs.
Default Game Mode Change: Changed the default game mode from Team Match to Solo Match.
Fixed an issue where a team selection message would appear when starting Solo Match.
The Team Match Draft Pick system now functions properly.
Fixed Practice Mode Death Handling: Practice mode now automatically ends upon death.
Fixed Sky Island Map Effect System:
Set the time to 13000. Changed to Tick (Sunset/Twilight)
Completely remove lightning effects (user request)
Remove night vision effect particles (maintain effect, only hide particles)
Features Added
Sky Island Map Special Effects System:
Fixed sunset/twilight time to 13000 ticks
Disabled rain/thunder weather
Automatically detects map names containing "Sky Island", "sky", or "skyisland" (case-insensitive)
Setting a Single Spawn for a Map Slot:
Existing spawn points are automatically deleted when
/setmap1or/setmap2are executed.The current location is automatically set to the map center and the first spawn point.
Additional spawn points can be added using
/addspawn1or/addspawn2.Added a notification message indicating the number of existing spawn points.
v3.0 (Latest)
- Bug Fix: Fixed OP permission not being restored after game end (removed duplicate OP save logic)
- Bug Fix: Fixed practice mode items not being removed when starting game during practice mode
- Bug Fix: Added random team assignment feature to team selection GUI
v2.0
- Stamper: Stamp cooldown 12s → 20s
- Stamper: Dive acquisition time 120s → 200s
- Stamper: Stamp height 20 blocks → 10 blocks
- Stamper: Dive height 80 blocks → 40 blocks
- Stamper: Dive damage 12 (6 blocks) → 16 (8 blocks)
- Stamper: Passive landing damage 4 (2 blocks) → 6 (3 blocks)
- Stamper: Stamp item feather → heavy core
- Time Engraver: Time engraving range 5 blocks → 8 blocks
- Time Engraver: Time engraving slowness 1s → 2s (complete position freeze)
- Time Engraver: Clockhand base damage 10 → 6
- Time Engraver: Clockhand bonus damage 6 → 8
- Time Engraver: Added clockhand piercing (arrow throw, darkness/blindness effect)
- Time Engraver: Added complete position freeze to eternal clock
- Navigator: Wave riding changed from complete position freeze → simple slowness V effect
- Team Selection: Added draft pick system
- Bug Fix: Fixed team glowing effect not being removed after game end
- Bug Fix: Fixed team display errors
v1.0
- Swordsman: Copper sword cooldown 15s → 24s, gold sword 14s → 22s, diamond sword 13s → 20s
- Swordsman: Netherite sword limited to max 1
- Swordsman: Changed cooldown display from boss bar to chat
- Critical Cutter: Fixed critical cutter sword damage (same as stone sword → 5.0 damage)
- Critical Cutter: Guaranteed critical cooldown 6s → 25s
- Shapeshifter: Added charge ability (all evolution stages)
- Practice Mode: Redesigned with same mechanics as real game
- Practice Mode: Return to practice map and auto-end on death
Github
https://github.com/Dangel165/ChaosPVP
Credits
- Plugin Development: Dangel
- Map Creation: 145wir, ssadw1348, gyangsongsanghyeoninde,galaxy0596
- Balance Adjustment: 145wir
- Planning: 145wir, ssadw1348