Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Tags
Creators
Details
BanHammer
Two hammers. Your server's rules.
Create high-stakes PvP with a Ban Hammer and a Pardon Hammer. Version 1.1.1 keeps the Spigot command fixes, simplifies crafting setup and delays the ban disconnect until the death inventory/drop transaction has completed.
Choose your exact Minecraft version and download →
Native mod alphas — Fabric, Forge and NeoForge
Choose the edition that matches your server: Spigot/Paper 1.1.1 contains the repaired commands, configuration GUI and simple crafting editor. Native mod 1.2.0-alpha.1 is a separate, smaller implementation for Fabric, Forge and NeoForge. Every native mod download is ALPHA, including builds with successful smoke tests.
Native alphas implement Ban/Pardon Hammer items, direct player-kill bans with expiry, cooldowns, optional consumption/operator protection, automatic configuration, persistent native ban/cooldown history, operator commands and completion. Defeating a banner with the Pardon Hammer automatically pardons all players recorded against that banner. Native hammers currently use vanilla weapon combat stats; a hit must actually kill the player to trigger the action.
Not implemented in the native alphas: inventory configuration GUI, pardon-selection GUI, crafting recipes/editor, fine-grained Bukkit permission nodes, configurable enchantments/attributes/effects and SQLite history migration. /banhamer shows command help on these mod editions. These features remain available in the Spigot/Paper edition where described below; do not use a plugin JAR in a mod loader's mods/ directory.
Native mod installation and commands
Install one JAR for your exact Minecraft version and loader in mods/. Fabric also requires Fabric API. No new custom client items or packets are registered. Vanilla clients connected in the tested combinations; other versions remain experimental. Dedicated-server validation is listed below; integrated single-player and other mods are not validated.
The server creates config/banhammer.properties and world-local <world>/banhammer/native-state.properties. These files are separate from the Bukkit plugin's YAML/SQLite data. Vanilla ban-list entries retain their native expiry. Java: 17 through 1.20.4; 21 for 1.20.5–1.21.11; 25 for 26.x. Minecraft versions without a Mace use a Netherite Axe.
Operator level 2 is required for administration. Aliases: /banhammer, /banhamer, /bh, /masse.
| Native alpha command | Action |
|---|---|
/banhammer give <online-player> <ban/pardon> [1..64] |
Give a tagged hammer |
/banhammer cooldown <player/UUID> [seconds] |
Inspect/set a persistent cooldown |
/banhammer reset <player/UUID> |
Reset a cooldown |
/banhammer config |
Show settings |
/banhammer config <key> <value> |
Save a validated setting |
/banhammer reload |
Reload the properties file |
/banhammer info / help |
Edition information and allowed commands |
Config keys: cooldown-seconds, ban-seconds (0 = permanent), consume-on-ban, protect-operators, require-operator-use. Seconds accept 0–315360000; boolean settings accept true/false.
Native validation
79 actual JARs compiled: Fabric 29, Forge 27, NeoForge 23. Compilation is not a runtime test. Missing loader/version combinations are not advertised as supported. Quilt, Folia and proxy loaders are not validated or tagged.
Shared-core tests cover permission checks, completion, bad inputs, cooldowns, reset, ban/pardon, consumption, configuration rollback, queued kicks and restart persistence. Native server tests cover startup/commands and, where listed, connected vanilla protocol clients, ban/rejoin rejection, pardon and absence of a retained death-dropped hammer on reconnect. The table distinguishes physical client combat from a vanilla /damage ... minecraft:player_attack by ... test. The headless 1.21.1 client library emitted partial-packet warnings; the recorded assertions passed, but this is not complete protocol compatibility certification. No real-server load test or full modpack compatibility test is claimed.
Native alpha status for every Minecraft version
| Minecraft | Fabric | Forge | NeoForge |
|---|---|---|---|
| 1.19 | Compiled; runtime not validated | Compiled + vanilla clients; melee PvP passed | No official build in the verified loader matrix |
| 1.19.1 | Compiled; runtime not validated | Compiled; runtime not validated | No official build in the verified loader matrix |
| 1.19.2 | Compiled; runtime not validated | Compiled; runtime not validated | No official build in the verified loader matrix |
| 1.19.3 | Compiled; runtime not validated | Compiled; runtime not validated | No official build in the verified loader matrix |
| 1.19.4 | Compiled; runtime not validated | Compiled; runtime not validated | No official build in the verified loader matrix |
| 1.20 | Compiled; runtime not validated | Compiled; runtime not validated | No official build in the verified loader matrix |
| 1.20.1 | Compiled; runtime not validated | Compiled; runtime not validated | Compiled; runtime not validated |
| 1.20.2 | Compiled; runtime not validated | Compiled; runtime not validated | Compiled; runtime not validated |
| 1.20.3 | Compiled; runtime not validated | Compiled; runtime not validated | Compiled; runtime not validated |
| 1.20.4 | Compiled; runtime not validated | Compiled; runtime not validated | Compiled; runtime not validated |
| 1.20.5 | Compiled; runtime not validated | No official build in the verified loader matrix | Compiled; runtime not validated |
| 1.20.6 | Compiled; runtime not validated | Compiled; runtime not validated | Compiled; runtime not validated |
| 1.21 | Compiled; runtime not validated | Compiled; runtime not validated | Compiled; runtime not validated |
| 1.21.1 | Compiled + vanilla clients; melee PvP passed | Compiled; runtime not validated | Compiled + vanilla clients; melee PvP passed |
| 1.21.2 | Compiled; runtime not validated | No official build in the verified loader matrix | Compiled; runtime not validated |
| 1.21.3 | Compiled; runtime not validated | Compiled; runtime not validated | Compiled; runtime not validated |
| 1.21.4 | Compiled; runtime not validated | Compiled; runtime not validated | Compiled; runtime not validated |
| 1.21.5 | Compiled; runtime not validated | Compiled; runtime not validated | Compiled; runtime not validated |
| 1.21.6 | Compiled; runtime not validated | Compiled; runtime not validated | Compiled; runtime not validated |
| 1.21.7 | Compiled; runtime not validated | Compiled; runtime not validated | Compiled; runtime not validated |
| 1.21.8 | Compiled; runtime not validated | Compiled; runtime not validated | Compiled; runtime not validated |
| 1.21.9 | Compiled; runtime not validated | Compiled; runtime not validated | Compiled; runtime not validated |
| 1.21.10 | Compiled; runtime not validated | Compiled; runtime not validated | Compiled; runtime not validated |
| 1.21.11 | Compiled; runtime not validated | Compiled; runtime not validated | Compiled; runtime not validated |
| 26.1 | Compiled; runtime not validated | Compiled; runtime not validated | Compiled; runtime not validated |
| 26.1.1 | Compiled; runtime not validated | Compiled; runtime not validated | Compiled; runtime not validated |
| 26.1.2 | Compiled; runtime not validated | Compiled; runtime not validated | Compiled; runtime not validated |
| 26.2 | Compiled; runtime not validated | Compiled; runtime not validated | Compiled; runtime not validated |
| 26.3 | Compiled; runtime not validated | Compiled; runtime not validated | Compiled; runtime not validated |
Spigot/Paper 1.1.1 features
What's fixed in 1.1.1?
- Ban kicks happen on the following server tick, after death drops and inventory clearing. The old immediate disconnect could retain a victim's dropped hammer in saved player data.
- Saving a recipe now activates it immediately, persists its custom result item, reports disk errors and discovers registered recipes for connected/joining players.
- A smaller three-row recipe editor uses ordinary cursor pickup in your inventory and protected template copies in the grid/result slot.
- Replaced Paper-only component messages, item names/lore, player-ban and death-event calls with Spigot-compatible code.
- Replaced the Paper-only cached player lookup used by cooldown/reset commands.
- Added
/banhameras an alias, alongside/banhammer,/bhand/masse. - Permission-aware command suggestions, useful invalid-player/quantity errors and a configuration menu on the bare command.
- Runtime material/attribute/registry compatibility, including a Netherite Axe fallback where Minecraft has no Mace.
- Protected menu interactions and stale sessions; queued SQLite writes preserve submission order and are drained at shutdown with a bounded wait.
Configure in game
Run /banhammer or /banhamer as an administrator to open the configuration menu. The console receives help instead of a menu.
Change effects, sounds, particles, hammer use-permission requirements, Ban Hammer bypass protection, ban cooldown/duration and whether a used Ban Hammer is consumed. Changes are saved to plugins/BanHammer/config.yml.
Make your own hammer recipes
- Open
/banhammerand choose the Ban Hammer or Pardon Hammer craft. - Pick up an item in your inventory and click the 3×3 grid to copy its material. Put your original stack back. Right-click a cell to clear it.
- Pick up the desired result item and click the result slot on the right, then put your original item back. The template retains its name, lore, enchantments, item data and valid stack quantity; it receives the selected hammer identity.
- Click the emerald Enregistrer et activer. No separate enable switch is needed. The recipe is immediately available on a crafting table and saved to disk.
The editor's grid and result are protected copies: they cannot be taken into your inventory. Your real cursor items remain yours. These are shaped 3×3, material-based recipes, with one ingredient per occupied cell; ingredient names/NBT are not matched. Empty, invalid or conflicting hammer recipes are rejected. Recipes start disabled on first installation and are activated when you save them.
Craft permissions: banhammer.craft, banhammer.craft.ban, banhammer.craft.pardon (default true; the recipe must also be enabled).
PvP mechanics
The Ban Hammer applies a configured ban on a qualifying player kill, subject to holder cooldown, optional use permission and target bypass protection. The Pardon Hammer lets a player defeat the person responsible for bans and choose one or all of their recorded players to pardon. Ban records and holder cooldowns use SQLite, retaining the existing data paths and schema.
The defaults are a 3-day cooldown and 7-day ban. Review those values before giving players the hammers.
Commands
| Command | Access / purpose |
|---|---|
/banhammer or /banhamer |
Admin configuration and recipes (player only) |
/banhammer config / gui / craft / recipe |
Open the same configuration menu |
| `/banhammer give <player> <ban | pardon> [1-64]` |
| `/banhammer cooldown <player | UUID> [duration]` |
| `/banhammer reset <player | UUID>` |
/banhammer reload |
banhammer.reload or admin |
/banhammer info / help |
Information / permitted commands |
The menu requires banhammer.admin, which defaults to server operators. Use banhammer.bypass to protect selected players; banhammer.use is consulted when required by configuration.
Install or update
- Stop the server and back up
plugins/BanHammer/. - Download the one file matching your Minecraft version. Replace the previous BanHammer JAR; do not keep duplicate copies in
plugins/. - Start Spigot or Paper. Existing data/configuration remain in their existing folder. Use
/banhammer info, then/banhammeras an operator.
Files are built against real Spigot APIs for Minecraft 1.19 through 26.3, with Java 17 bytecode. Run Java 17 for 1.19–1.20.4, Java 21 for 1.20.5–1.21.11, and Java 25 for 26.x. This is a server plugin; players need no client mod.
Verification by version
Compilation is not a server test. Release files have a matching successful native client integration report for at least one listed platform; the table states which. Beta files compiled against the exact official API but do not have a complete native client test for that artifact. A Spigot test is never inferred from a Paper test. The Spigot bug-fix line is separate from any future alpha mod-loader ports.
| Minecraft | API compiled | Spigot runtime | Paper runtime |
|---|---|---|---|
| 1.19 | Yes | Client, commands, GUI and craft passed | Not validated |
| 1.19.1 | Yes | Not validated | Not validated |
| 1.19.2 | Yes | Not validated | Not validated |
| 1.19.3 | Yes | Not validated | Not validated |
| 1.19.4 | Yes | Not validated | Not validated |
| 1.20 | Yes | Not validated | Not validated |
| 1.20.1 | Yes | Not validated | Client, commands, GUI and craft passed |
| 1.20.2 | Yes | Not validated | Not validated |
| 1.20.3 | Yes | Not validated | Not validated |
| 1.20.4 | Yes | Not validated | Not validated |
| 1.20.5 | Yes | Not validated | Not validated |
| 1.20.6 | Yes | Not validated | Not validated |
| 1.21 | Yes | Not validated | Not validated |
| 1.21.1 | Yes | Not validated | Not validated |
| 1.21.2 | Yes | Not validated | Not validated |
| 1.21.3 | Yes | Not validated | Not validated |
| 1.21.4 | Yes | Not validated | Not validated |
| 1.21.5 | Yes | Not validated | Not validated |
| 1.21.6 | Yes | Not validated | Not validated |
| 1.21.7 | Yes | Not validated | Not validated |
| 1.21.8 | Yes | Not validated | Not validated |
| 1.21.9 | Yes | Not validated | Not validated |
| 1.21.10 | Yes | Not validated | Not validated |
| 1.21.11 | Yes | Not validated | Client, commands, GUI and craft passed |
| 26.1 | Yes | Not validated | Not validated |
| 26.1.1 | Yes | Not validated | Not validated |
| 26.1.2 | Yes | Not validated | Not validated |
| 26.2 | Yes | Not validated | Not validated |
| 26.3 | Yes | Not validated | Not validated |
Additional PvP regression passed on Paper 1.21.11 with three vanilla clients: a real Ban Hammer kill banned and kicked the victim; reconnection was denied; a Pardon Hammer kill opened the pardon menu; pardoning allowed reconnection. The victim did not retain its dropped hammer after rejoining. SQLite retained the history and marked the ban inactive.
Full ban/pardon multiplayer combat across every version, Folia, third-party plugin combinations and load tests have not been validated across all versions. Use a test server before updating a live SMP.
Compatibility fixes, recovered-source maintenance, the configuration/recipe implementation and this presentation were assisted by generative AI. Original supplied functionality and existing library notices are retained.


