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

BS-BanHammer

The most feature-rich ban hammer for Paper & Folia 1.21.x - Strike players with lightning effects while maintaining a complete punishment database, Discord integration, and preset system.

Оцените первым
647
2
Все версииBS-BanHammer 4.0.1

BS-BanHammer 4.0.1

Release03.06.2026

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

[4.0.1] - 2026-06-03

🐛 Bug Fixes

Jail System

  • Fixed jail escape via relogging — jailed players are now re-enforced on join (JailListener#onJoinJailManager#restoreJailOnJoin): the enforcement cache is rebuilt on every join (even within the offline-cleanup window) and restoration also works without a database (the periodic cleanup keeps active jails in memory when no DB is configured). Previously the cache was cleared on quit and never restored, so a player could leave jail simply by reconnecting.
  • Fixed jails not surviving server restartsloadJailedPlayers() now runs in initializeDatabaseDependentComponents() after the (asynchronous) database is ready, instead of during onEnable when it was still null.
  • /unjail now works for offline players — the database record is released even when the target is not online (previously rejected outright).
  • Fixed jail enforcement being blocked by the plugin's own teleportsJailListener#onTeleport now exempts PLUGIN-cause teleports. Previously the plugin's own "teleport back into jail" (and, on Folia, the initial jailing teleport) was cancelled by the very teleport-prevention handler, so a jailed player could leave the jail radius and never be pulled back.
  • Temporary jails now auto-release without a databaseJailManager tracks an in-memory expiry as a fallback when no database is configured. With a database the UnbanScheduler remains the sole authority, so there is no duplicate handling or leaked entry.
  • Fixed return-location being clobbered on re-jail — the pre-jail location is now saved with putIfAbsent, so restoring a jail (relog/restart) no longer overwrites the player's real return location with the jail spot.

Essentials Integration

  • Essentials is now always preferred when hooked — when Essentials is present, jails are created and managed in Essentials; the built-in jail system is no longer used as a fallback in that case.
  • Auto-creates an Essentials jail when none exists — if Essentials is hooked but no jail has been configured, BanHammer registers its configured jail location as an Essentials jail (via setJail) instead of falling back to the built-in system. An existing, admin-configured Essentials jail is preferred when present.
  • Cell selection for /jail — new syntax /jail <player> <duration> [cell] [reason]. The optional cell targets a specific Essentials jail; when omitted, the configurable default cell is used. Tab-completion suggests existing cells, and a non-existent cell is rejected with the list of available ones. The hammer and reason-only commands use the default cell. Case-insensitive cell matching.
  • /jail no longer requires a built-in jail location when Essentials is hooked — the location now comes from Essentials.

Configuration

  • New punishmentTypes.jail.useEssentials toggle — enable/disable the Essentials jail hook from the config (default true). When false, BanHammer always uses its built-in jail even if Essentials is installed. Applies on (re)start.
  • New punishmentTypes.jail.essentia✨efaultJail (default "1") — the Essentials cell used by the hammer and by /jail when no cell is specified.

Punishments / IP Bans

  • Fixed IP-ban removal with anonymization enabled/unban no longer attempts to pardon an anonymized IP. The real IP is only pardoned when privacy.ipAnonymization: NONE; otherwise a hint to use the vanilla /pardon-ip is logged. Applied to both manual unban and the auto-unban scheduler.
  • Muted players can no longer bypass chat blocking via namespaced commands (e.g. /minecraft:msg).

Presets

  • Fixed memory leak — per-player preset selections are now cleared on quit.
  • Thread-safety — preset lists are immutable snapshots swapped atomically on reload, preventing a possible ArithmeticException (modulo by zero) if a player cycled presets during /bh reload.
  • Modernized sound resolution — new registry-based Sounds utility resolves both namespaced keys (block.note_block.pling) and legacy constants (BLOCK_NOTE_BLOCK_PLING), removing the deprecated Sound.valueOf warnings.

Stability / Logging

  • Removed noisy INFO-level debug logging from the jail, hammer-use, ban and Discord code paths (now debug).
  • ModrinthUpdateChecker shared fields (latestVersion, downloadUrl, changelogUrl, lastCheck) are now volatile for correct visibility between the async check and the main thread.
  • GUIListener no longer risks a NullPointerException on inventory items without a display name.

Файлы

banhammer-4.0.1.jar(21.48 MiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

4.0.1

Загрузчики

Folia
Paper
Purpur
Spigot

Версии игры

26.1–26.1.2

Загрузок

43

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

03.06.2026

Загрузил

ID версии

Главная