/combatlog: reload, status, untag – better plugin management through commandsmessages.yml introduced with full colorization support – easier message customizationCombatManager – cleaner, more maintainable code without unnecessary complexityPlaceholderAPI Integration CombatLog now supports PlaceholderAPI. Use these placeholders in any compatible plugin (scoreboards, TAB, HUDs, etc.):
%combatlog_in_combat% — true / false%combatlog_time_left% — remaining combat seconds%combatlog_opponent_name% — name of the current opponent%combatlog_opponent_health% — opponent's current HP (00.00 format)PlaceholderAPI is optional — the plugin loads cleanly without it.
Permission Bypass (combatlog.bypass)
Players or groups with the combatlog.bypass permission are fully exempt from CombatLog:
opPotion Effects on Combat Tag You can now configure potion effects that are automatically applied when a player enters combat and removed when combat ends. Effects are only applied if the player does not already have that effect active.
Configure in config.yml under combat-log.tag-effects:
tag-effects:
- type: GLOWING
duration-seconds: 15
amplifier: 0
show-particles: false
Supports any valid Bukkit PotionEffectType. The list in the default config includes GLOWING as an example — remove or comment it out if you don't want any effects.
CombatManager now tracks the current opponent per player, enabling opponent-related placeholders to work correctlyPotionEffectType lookup updated to use Registry.EFFECT instead of the deprecated getByName() method (Paper 1.20.3+)softdepend)This release is a pure code refactor. Gameplay behaviour is identical to the previous version.
Packages have been renamed to follow Java conventions (lowercase):
| Before | After |
|---|---|
...Utils | ...util |
...Combat | ...combat |
...Config | ...config |
...Listener | ...listener |
CombatManager (new: combat package)
combatTimers, activeTimers and bossBars mapsPluginConfig (new: config package)
config.getString / getBoolean / getInt callListener split
CombatTagListener — damage, projectile, explosion and enderpearl taggingCombatRestrictionListener — elytra, teleport, command block, mending, riptideCombatZoneListener — proximity tagging on joinCombatLogoutListener — disconnect handlingAntiKillAbuse — kill-farming detectionWorldGuardListener — region entry guard (registered only when WorldGuard is present)CombatLog (main class)
registerListeners() is the single place to see which listeners are activeNo config changes. No permission changes. No command changes. Simply replace the old jar with the new one and restart.
Fixed an issue with the WorldGuard integration where the plugin checked an unused local flag instead of the actual WorldGuardHook status. As a result, the region entry restriction during combat now works correctly.
Additionally, blocked commands are now case-insensitive (/TPA, /Tpa, /tpa are treated the same), making the command restriction system more reliable.
This update introduces a cleaner and fully restructured configuration.
All settings are now logically grouped (timer, restrictions, punishment, triggers, etc.), making the plugin easier to configure and extend.
The Anti-Kill-Abuse system has also been adapted to the new structure.
⚠️ Old configs are not compatible. Please replace your existing config.
combat-log:
timer:
duration-seconds: 15
display: actionbar
restrictions:
elytra:
disabled-in-combat: true
teleporting:
disabled-in-combat: false
mending:
disabled-in-combat: true
riptide:
stop: false
cooldown: 10000
explosions:
set-combat-on-explosion: true
punishment:
damage: 5.0
kill-on-logout: false
triggers:
enderpearl:
set-combat-on-land: true
only-if-already-in-combat: false
ignored-worlds:
- "ffa"
blocked-commands:
- "tpa"
combat-zone:
enabled: true
radius: 10
messages:
combat-log: "&c{player} has combat logged!"
elytra-use-denied: "&dYou can't use elytra in combat"
teleporting-denied: "&dYou can't teleport in combat"
blocked-command: "&cYou can't use this command in combat"
region-entry-denied: "&cYou can't enter this region in combat"
timer:
actionbar: "&c{timeLeft}/{maxTime}"
bossbar-title: "&cIn Combat: {timeLeft}s"
anti-kill-abuse:
enabled: true
limits:
max-kills: 5
remove-kill-after-seconds: 60
punish-commands:
- "kick {killer} Kill-Abuse detected!"
- "ban {killer}"

The Simple-Combat-Log plugin prevents players from logging out during combat by setting a combat timer, disabling actions like Elytra use, and broadcasting a message if they leave the server mid-combat.