
Simple Combat Log
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.
Changelog - CombatLog [Version 1.17]
✨ New Features
- Subcommand system for
/combatlog:reload,status,untag– better plugin management through commands - Visual WorldGuard safe-zone barrier with fake blocks – players see a clear visual barrier around safe zones
🔧 Improvements
- Separate
messages.ymlintroduced with full colorization support – easier message customization - Simplified
CombatManager– cleaner, more maintainable code without unnecessary complexity - Optimized PlaceholderAPI integration
- Tab-completion for all subcommands
- Messages now use Adventure Components for better consistency
⚠️ Removed
- Opponent-tracking simplified (no longer stored in data structures)
🐛 Bugfixes & Cleanup
- WorldGuard now properly treated as an optional dependency
- Barriers correctly cleared on untag
- Improved timer cleanup on plugin shutdown
- Subcommand system for
New Features
PlaceholderAPI 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.00format)
PlaceholderAPI is optional — the plugin loads cleanly without it.
Permission Bypass (
combatlog.bypass) Players or groups with thecombatlog.bypasspermission are fully exempt from CombatLog:- Will not be tagged into combat
- Are not subject to any in-combat restrictions (elytra, teleport, commands, etc.)
- Disconnecting while in combat produces no broadcast and no punishment
- Default:
op
Potion 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.ymlundercombat-log.tag-effects:tag-effects: - type: GLOWING duration-seconds: 15 amplifier: 0 show-particles: falseSupports any valid Bukkit
PotionEffectType. The list in the default config includesGLOWINGas an example — remove or comment it out if you don't want any effects.
Improvements
CombatManagernow tracks the current opponent per player, enabling opponent-related placeholders to work correctlyPotionEffectTypelookup updated to useRegistry.EFFECTinstead of the deprecatedgetByName()method (Paper 1.20.3+)
Dependencies
- PlaceholderAPI: optional (
softdepend) - WorldGuard: optional (unchanged)
Refactor — no functional changes
This release is a pure code refactor. Gameplay behaviour is identical to the previous version.
Package structure
Packages have been renamed to follow Java conventions (lowercase):
Before After ...Utils...util...Combat...combat...Config...config...Listener...listener
What changed
CombatManager(new:combatpackage)- Now fully owns
combatTimers,activeTimersandbossBarsmaps - Listeners no longer touch state directly — all changes go through the public API
PluginConfig(new:configpackage)- Centralises every
config.getString / getBoolean / getIntcall - Single instance passed to all listeners on startup
Listener 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)- Reduced to wiring only: config → manager → listeners
registerListeners()is the single place to see which listeners are active
Migration
No config changes. No permission changes. No command changes. Simply replace the old jar with the new one and restart.
- Now fully owns
Fixed an issue with the WorldGuard integration where the plugin checked an unused local flag instead of the actual
WorldGuardHookstatus. As a result, the region entry restriction during combat now works correctly.Additionally, blocked commands are now case-insensitive (
/TPA,/Tpa,/tpaare 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.
New Configuration
Click to expand
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}"Changelog
Added
- New configuration options to control combat logging when an Ender Pearl lands.
- Players can now be set into combat when landing an Ender Pearl.
- Option to choose whether this should always happen or only if the player is already in combat.
Config
combat-log: enderpearl: set-combat-on-land: true only-if-already-in-combat: falseFixed a bug that the plugin coudn't start without worldguard
Added: Mending Combat Restriction/Metrics
A new configuration option has been introduced:
combat-log: mending-disabled-in-combat: trueNew Feature
- Prevents kill farming / griefing by tracking repeated kills on the same player.
- If a player kills the same victim more than 5 times in 30s, punishment commands are executed.
⚙️ Config
anti-kill-abuse: enabled: true remove-kill-after: 60 max-kills: 5 punish-commands: # {victim} for victim - "kick {killer} Kill-Abuse detected!"Combat timer can now be shown in the actionbar or bossbar.
New config option:
combat-log.display-mode(actionbarorbossbar)Adds the option to block commands in combat
Adds the option to kill players when they combat log
Fixed a bug where stepping on farmland, carrots, or similar blocks caused unintended teleportation, sometimes launching players out of the world.
New Features
Combat Zone System
- Added a configurable zone where players are automatically put into combat.
- The range of the combat zone can be adjusted.
- The combat zone can be enabled or disabled as needed.
Punishment System
- Players can receive damage as a penalty for breaking the rules.
- The amount of damage can be adjusted in the configuration.
Fixed the bug, that you can spam riptide
Added the orption to disable riptiding in combat and set a timer to riptiding
Нет описания изменений
Added the ability to disable teleporting while in combat
Should work on all game versions
Combat Log but it supports Spigot/Bukkit
by ignoring the PlayerElytraBoostEvent wich shouldn't anyway get triggert
Hitting a player now automaticly sets them out of gliding
