justCombat v1.1.1

A highly optimized combat system with Folia, Paper, and Spigot support
[1] Plugin doesn't crash on servers without WorldGuard anymore. WorldGuard is optional, but the safezone code needed it just to start up, so without it the whole plugin shut itself down. That part only loads when WorldGuard is actually installed now. No WorldGuard just means no safezone handling, everything else runs fine.

[2] Server stopped freezing on startup. It was downloading the MySQL and MariaDB database drivers on every boot even though most servers run SQLite, and on a slow connection that hung the whole startup. Only SQLite and H2 load now. MySQL and MariaDB still work if their driver is there, otherwise it quietly uses SQLite.

[3] No more wall of red "DataSource is not initialized" errors. Those were left over from the plugin shutting down in the middle of starting up. It stops cleanly now.

[4] Elytra is blocked in combat. No gliding or firework-boosting away to escape a fight, and you get dropped out of glide if you're hit mid air. Turn it off with restrictions.elytra.enabled, bypass with justcombat.bypass.elytra.

[5] The combat-log NPC respects keepInventory now. If you log out in a keepInventory world you keep your items and XP, nothing drops and nothing gets wiped on reconnect. You can also turn the NPC off per world with npc.disabled_worlds.

[6] The jar is about half the size now, roughly 4.5MB down from 9.6MB. It was bundling netty and a couple of other things the server already has. (Older but forgot to mention)

[7] Works on Paper 1.21.11 and 26.1.2, plus Folia and Spigot.
[1] You can't stand inside a safezone and hit players outside it anymore. It used to only check where the victim was, not the attacker.

[2] Golden and notch apple cooldowns work now. The bypass permission was set to OP by default, so admins never saw a cooldown and figured it was broken. It's off by default now, so give it to staff manually if you want them exempt.

[3] Safezone barrier blocks don't get stuck on your screen after a fight ends anymore.

[4] Killstreak messages like your streak counter and "streak ended" weren't showing right. They were reading from an old language file that never updated. Fixed now.

[5] Console doesn't get spammed with a debug line every time something hits a mob. That only logs for real player fights now, and only when debug is on.

[6] Combat log NPC now works. Log out in the middle of a fight and it leaves a killable copy of you with your gear, instead of just killing you on the spot. It's off by default.

[7] Essentials can't take over /pvp and /combat anymore.

[8] You can hide the extra command names and keep just /combat if you want it cleaner.

[9] Flight bypass and the apple bypass are separate permissions now. Your config updates itself on the first start and keeps anything you changed.

[10] Works on Paper 1.21.11, 26.1.x, Folia and Spigot.
### CRITICAL FIXES

[1] Big one: blocked commands actually stay blocked now. /fly, /pvp, /home and the rest aren't slipping through anymore, and yes, that includes the sneaky /minecraft:fly, /cmi:fly, /f style variants people were using
[2] OPs no longer bypass combat command restrictions just for being OP. If you want staff to be exempt, you need to give them justcombat.bypass.commands directly. Sorry, this was a footgun
[3] You can't toggle /pvp while in combat anymore, even if some other plugin tries to handle it before us
[4] Those DataSource is not initialized or has been closed walls of red on shutdown? Gone. Stats now finish saving before the pool gets closed
[5] If your console was getting absolutely hammered with debug lines on every mob hit, that's because performance.debug defaulted to true. New installs default to false now. Set it to false in your existing config if you haven't already
[6] Boss bar timer was only ticking once a second and looked stuck. It refreshes 4x per second now, much smoother
[7] streak_ended and a few other broadcasts were silently disappearing when the prefix string was missing. Fixed
[8] Broadcasts (like killstreak announcements) ignored language files and always pulled from messages.yml. They respect the active language now
[9] your_streak was defined in messages.yml but never actually sent to the killer. It is now
[10] Damage debug stopped firing on every arrow that hits a skeleton. Only player-vs-player combat triggers it now

### IMPROVEMENTS

[11] /pvp and /justcombat get force-registered via Bukkit's CommandMap so Essentials (and similar) can't steal them anymore
[12] Added /combat as an alias for /justcombat


### NEW FEATURES

[13] Flight gets cut the second you enter combat. Creative and Spectator are skipped. Switch off with combat.disable_fly_on_combat: false or grant justcombat.bypass.fly to whoever should keep their wings
[14] Riptide tridents finally have a cooldown. The old trident cooldown only fired on actual throws, so anyone in water or rain could spam riptide and dodge it. New section: advanced_pvp.trident.riptide.cooldown
[15] Same idea for melee trident hits. Some people were just bonking with the spear instead of throwing it to bypass the cooldown. New section: advanced_pvp.trident.lunge.cooldown


### CONFIG

[16] Added combat.disable_fly_on_combat (default true)
[17] Added advanced_pvp.trident.riptide.cooldown (10s by default)
[18] Added advanced_pvp.trident.lunge.cooldown (2s by default)
[19] Added visual.boss_bar.update_interval_ticks (default 5)
[20] performance.debug now defaults to false for new installs. Your existing config isn't touched
[21] Configs migrate automatically on first start. Anything you've customised stays the way you set it


### PERMISSIONS

[22] Added justcombat.bypass.fly (default false)
[23] justcombat.bypass.trident.cooldown covers throw, riptide, and lunge now (one perm, all three)

### COMPATIBILITY

[24] Tested on Paper 1.21.11, Paper 26.1.2, Folia, and Spigot.


### FOR SERVER ADMINS

If your staff used to bypass combat restrictions just by being OP, you need to hand them justcombat.bypass.commands from your perms plugin now. That's the main thing that might bite you on upgrade.

Console too noisy after upgrading? performance.debug: false in your existing config.

Don't like that flight gets killed on combat? combat.disable_fly_on_combat: false, or just give the relevant rank justcombat.bypass.fly.
[0] FIXED: Ender pearl cooldown activating but player not teleporting on Paper 1.21+. Pearl item was consumed and the throw was cancelled server-side but the item was never refunded. Also improved interact event handling to reliably block pearl usage when on cooldown
[1] FIXED: Golden apple and enchanted golden apple cooldowns not working on Paper 1.21+.. Hotbar cooldown overlay also now appears after eating
[2] FIXED: Editing the prefix or any message in en_US.yml had no effect in-game even after a full restart. Language files are now always read first regardless of whether multi-language is enabled in config
[3] FIXED: OP players automatically bypassed all combat restrictions (pearls, safe zones, commands, healing).
[1] Added PvP toggle status placeholders for scoreboard display (pvp_status, pvp_enabled, pvp_enabled_boolean)
[2] Fixed console spam from debug logging triggering on all player interactions instead of only ender pearl usage
[1] Fixed command blocking while in combat not working when other plugins cancel commands first
[2] Small improvements & fixes
[1] Added per-player toggle system with unified /jc toggle command (fast crystal, totem particles, explosion particles, explosion sounds, chainmail kit)
[2] Implemented invisibility chat hide feature to block/filter messages from invisible players
[3] Fixed empty action bar spam by sending empty message only once when clearing
[4] Added proper PacketEvents-based packet interception for totem and explosion effects
[5] Fixed fast crystal toggle double-toggle sync bug by centralizing state management
[6] Added configurable chainmail kit on respawn with toggle support
[1] Fixed Action Bar not appearing during combat for OPs due to bypass permission auto-granting
[2] Added Fast Crystal PvP feature with instant placement and invulnerability removal
[3] Improved configuration system with automatic migration and version tracking
EULA: Free EULA
1,250 Views
132 Downloads
Nov 30, 2025 Published
Jun 11, 2026 Updated
Not yet rated
4.5 MB File size
Open source
  1. Yes
DRM-free
  1. Yes
Unobfuscated
  1. Yes
Type
  1. Gameplay
  1. World
  1. Core
Game mode
  1. Survival
  1. Lifesteal
  1. KitPVP
Supported software
  1. Spigot
  1. Paper
  1. Folia
  1. Purpur
Supported versions
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
Supported languages
  1. English
Creator
Owner
Recommended for you
A survival/kit duel plugin.
5.00 star(s) 1 ratings
31 purchases
A modern, high-performance, and network-ready punishment system.
5.00 star(s) 1 ratings
26 purchases
4.50 star(s) 3 ratings
6 purchases
Host all type of events your way - modular arenas, GUI setup, cross-server ready.
Not yet rated
0 purchases
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,176 purchases
1,250 Views
132 Downloads
Nov 30, 2025 Published
Jun 11, 2026 Updated
Not yet rated
4.5 MB File size
Open source
  1. Yes
DRM-free
  1. Yes
Unobfuscated
  1. Yes
Type
  1. Gameplay
  1. World
  1. Core
Game mode
  1. Survival
  1. Lifesteal
  1. KitPVP
Supported software
  1. Spigot
  1. Paper
  1. Folia
  1. Purpur
Supported versions
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
Supported languages
  1. English
Creator
Owner
Recommended for you
A survival/kit duel plugin.
5.00 star(s) 1 ratings
31 purchases
A modern, high-performance, and network-ready punishment system.
5.00 star(s) 1 ratings
26 purchases
4.50 star(s) 3 ratings
6 purchases
Host all type of events your way - modular arenas, GUI setup, cross-server ready.
Not yet rated
0 purchases
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,176 purchases
Top