OneMace
Tired of plugins that claim to fix multiple Maces—but don’t?
OneMace enforces a hard limit: players can have only one Mace. No bypasses. Period.
OneMace introduces a unique gameplay twist by limiting the entire server to a single Mace. No more spamming Maces—strategy and skill are key! Perfect for Lifesteal and competitive PvP servers that want to balance the game.
- The plugin stores the crafted state in config.yml, so it remains saved across restarts.
- The Mace recipe is re-enabled if the Mace is destroyed (e.g., lava, void, breaking).
- Announcements for crafting & destruction can be enabled/disabled in config.yml.
Need a server for a nice deal or just want to support me? ❤️
Configuration
Make sure the server is not running before making changes!
settings:
mace-crafted: false # Changes to true when the Mace is crafted.
mace-owner: null # Stores the UUID of the current owner, or null if no owner.
announce-mace-messages: true # If true, broadcasts when the Mace is crafted or lost.
allow-locate-for-all: false # If true, allows any player to use the '/onemace locate' subcommand.
colored-name: false # If true, the player that has the Mace will have a colored name.
mace-name-color: "RED" # The color of the name, use Chat Colors.
optional-allowed-containers: # Containers that the Mace is allowed to be placed into.
- ENDER_CHEST
- ANVIL
- ENCHANTING
# Stores whether an offline player logged out with the Mace.
# If set to true, the Mace is in their inventory or Ender Chest when they logged out.
# Used to prevent crafting if the Mace still exists in an offline player’s possession.
# This is automatically updated when a player logs out or the server shuts down.
offline_inventory: {}
# Customizable messages
messages:
crafted: "&b[OneMace] &eThe Mace has been crafted!"
lost: "&b[OneMace] &eThe Mace has been lost!"
Commands
/onemace locate -
Allows you to locate the Mace.
Required permission:
onemace.admin
- description: Allows using admin subcommands
- default: op
/onemace fix -
Allows you to remove duplicate Maces and only leave one.
Required permission:
onemace.admin
- description: Allows using admin subcommands
- default: op
/onemace info -
Basic information about the plugin.
Required permission: none
Setup
Put the jar file into your server's plugin folder.
Restart (or reload) the server!
Bypasses & Limitations
⚠️ Maces in unloaded chunks will NOT be detected. This is unfortunately unfixable due to how Minecraft works. It is up to you to detect and use the admin commands if you suspect there may be more than one Mace.
Otherwise, this plugin should work perfectly on a clean vanilla server.
Contact
If you find any vanilla bypass or just need help, feel free to contact me:
Special Thanks
💙 Kamco0990 – The reason this plugin even exists.
All Versions
+ Add Version- Additional regression tests for Mace tracking and
/onemace fix
### Fixed
- Maces can no longer be placed inside **Bundles** to bypass container restrictions _(thanks to aboudybitar54 on GitHub)_
- Maces can no longer be stored directly inside **Shelf blocks** when the container is not allowed _(thanks to aboudybitar54 on GitHub)_
/onemace fixno longer re-enables Mace crafting when the Mace is held by an **offline player** _(thanks to w0l5lol on GitHub)_- Duplicate cleanup now correctly removes Maces from inside **Bundles and nested block-item storage**
- Updated to **Minecraft 26.2**
- Clickable
[TELEPORT]text to/onemace locateresults (OP oronemace.teleportpermission)
### Fixed
/onemace locateand/onemace fixnow detect Maces inside **Bundles** _(thanks to SUNNYVOID on GitHub)_- Race condition with AuthMe/Login plugins causing false "Mace does not exist" alerts _(thanks to RomanTNT on GitHub)_
- Improved mace detection**, should handle edge cases better _(thanks to Reporter797 on GitHub)_
- Updated to **Minecraft 26.1+**
### Planned
- Support for **multiple** Maces, not just one
- A possible solution for **unloaded chunk detection** (no promises though)
- Fixed being able to put the Mace on **Armor Stands** with arms
- Fixed being able to put the Mace into **Item Frames** from the **Offhand** (thanks to JustAChickenDev on GitHub)
- Fixed occasional log spam in the console due to colored name changes
- Some performance improvements
### Planned
- Support for **multiple** Maces, not just one
- A possible solution for **unloaded chunk detection** (no promises though)
- Command **autocomplete**
- Customizable **allowed containers**
### Fixed
- Fixed being able to put the Mace inside **Bundles** (again)
- Fixed weird behaviour when moving the Mace in the **Inventory**
- Fixed the Mace disappearing while in **Creative**
- Fixed issues with **Offhand and Number swapping**
### Planned
- Support for **multiple** Maces, not just one
- The Mace not being able to be moved in the inventory sometimes, or when in Creative
- The Mace being able to be put inside **Bundles**
- Updated to 1.21.11
### Fixed
- The Mace not being able to be put into **Anvils, Enchant Tables, Ender Chests**
- Updated to 1.21.10
### Removed
- Removed the **allow-mace-in-containers** setting, made true by default
### Added
- Config option
settings.allow-mace-in-containersto control if the Mace can be placed in containers - Config option
settings.colored-nameandsettings.mace-name-colorfor coloring the mace holder’s name via scoreboard team - Prevention for storing the Mace in **decorated pots**
- Prevention for placing the Mace into **item frames**
- Protection against **offhand swapping (
Fkey)** to
### Fixed
- Updated to 1.21.8
- Closed multiple bypasses where players could move the Mace using:
- Offhand slot while in containers
- Item frames
- Decorated pots
- Fixed most if not all NPEs (thanks to @waffliozz on Discord)
- Customizable broadcast messages (crafting, losing)
- Updated to support 1.21.5
### Fixed
- Prevented the Mace from being stored in colored bundles (thanks to @zmali on Discord)
### Changed
- Project is now open-source