▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/Simple combat
Simple combat

Simple combat

A lightweight, high-performance combat tagging and anti-relog plugin with multi-language BossBar, asynchronous processing.

Оцените первым
21
0

1.3

Release25.10.2026

Список изменений

Simple Combat v1.3 — Changelog

Console Banner Redesign

  • Switched the ASCII banner font to standard FIGlet (6 lines height) with consistent spacing and alignment across all console environments.
  • Reformatted the status block with single-space indentation to match the clean layout structure.
  • Simplified the platform status line to output only the detected server software name (e.g., Paper, Purpur, Folia, Spigot).
  • Removed the redundant pre-banner language initialization message to maintain a clean startup log.

Memory & Allocation Optimizations

  • Implemented a pre-cached array (FAST_TIME) for integer strings 0 through 120 in LanguageManager, completely eliminating heap allocations from Integer.toString() during the per-second combat countdown ticker.
  • Optimized placeholder replacement in getBossBarTitle: substring lookup via indexOf now prevents redundant string copies when {opponent} is not present in the configured message template.
  • Added a fast path to ActionBarDisplayAdapter.escapeJson that bypasses string replacement operations when no escape characters (\ or ") exist.

Event Handling & Performance

  • Optimized PlayerTeleportEvent: added early exit via !combatManager.isInCombat(player) before evaluating teleport cause strings or querying player permissions, significantly reducing server overhead on high-population servers.
  • Added early exit in EntityDamageByEntityEvent when the victim is already dead or has zero health.
  • Converted AreaEffectCloud.getSource() dynamic reflection to java.lang.invoke.MethodHandle for direct JIT invocation without reflection overhead.

State Management & Bug Fixes

  • Resolved BossBar persistence: CombatManager.removeAll() now explicitly detaches and removes active BossBars from all online players during configuration reload or plugin disable.
  • Added player membership verification in BossBarDisplayAdapter.show (bar.getPlayers().contains(player)) to prevent BossBar desynchronization across world transitions or respawns.
  • Prevented redundant packet dispatch in BossBarDisplayAdapter.update: the BossBar title is only updated when the formatted string has actually changed.
  • Added an overloaded CombatManager.tagCombat(Player, Player, int) method to prevent double session initialization during manual /simplecombat tag execution.

Файлы

SimpleCombat-1.3.jar(57.95 KiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

1.3

Загрузчики

Bukkit
Folia
Paper
Purpur
Spigot

Версии игры

1.13–26.3

Загрузок

1

Дата публикации

25.10.2026

Загрузил

ID версии

Главная