MaceSMP
A lightweight Lifesteal-style plugin focused entirely on the Mace.
Players spawn with a bound starter mace. Every time you kill another player you earn mace points. Spend those points in a clean GUI shop (/maceshop) to upgrade your mace with powerful enchants.
Vanilla Enchanting Table, Anvil (books), and Grindstone are completely blocked for maces — the only way to enchant them is through the point system.
Target: Paper 1.21.4+ (Java 21)
Version: b2.5
Author: UniDex101
Features
- Starter mace given on first join (bound to the player)
- Crafted maces are automatically bound to the crafter
- Kill → Points system with anti-farm protection (last 3 unique victims)
- Modern double-chest GUI shop (
/maceshop) - 6 buyable enchants with configurable max levels:
- Density (V)
- Breach (IV)
- Wind Burst (III)
- Fire Aspect (II)
- Unbreaking (III)
- Mending (I)
- Strong protection against vanilla enchanting bypasses
- Pure renaming on anvil is still allowed
- Full MiniMessage support for messages
- Simple YAML player data storage
Screenshots
GUI Shop

Owned Mace

Stats

Crafting a Mace

Protection Examples
| Enchanting Table | Anvil (books blocked) | Grindstone |
|---|---|---|
![]() |
![]() |
![]() |
Commands
| Command | Description | Permission | Aliases |
|---|---|---|---|
/maceshop |
Opens the mace enchant GUI | macesmp.shop |
/mshop |
/buy <enchant> |
Buy/upgrade an enchant (hold mace) | macesmp.buy |
/macebuy |
/macestats |
View your points, kills, deaths & owned maces | macesmp.stats |
/mstats |
All permissions default to true.
Installation
- Download the latest
.jar(or build it yourself). Tutorial - Drop it into your server’s
pluginsfolder. - Restart / reload the server.
- (Optional) Edit
plugins/MaceSMP/config.ymlto your liking.
Configuration
(plugins/MaceSMP/config.yml)
points-per-kill: 1
last-kills-reset-minutes: 3
last-kills-max-size: 3
enchant-cost: 1 # Points per level
max-levels:
density: 5
breach: 4
wind_burst: 3
fire_aspect: 2
unbreaking: 3
mending: 1
All messages support MiniMessage tags (
Build from source
Requirements: Java 21
git clone https://github.com/UniDex101/macesmp-paper.git
cd macesmp-paper
gradlew build
The jar will appear in build/libs/MaceSMP-b2.5.jar
Documentation
For a deep dive into the ownership system, anti-farm logic, protection listeners, GUI code, and how to add new enchants, see DOCUMENTATION.md.
Future ideas
- Leaderboard (
/maceleaderboard) - Public mace shop NPC
- Custom enchants via PDC
- Visual effects on purchase
- Ability to reset mace enchants (expensive)
- Economy plugin integration
LICENSE
CC0 ❤️❤️❤️
Each mace has a new data attribute that stores the owner's ID, it then gets used to display the name of the owner You cannot upgrade someone else's mace, but you CAN claim them as your own
This craft is what overrides the owner ID inside of each mace
Use `/macestats` to display this in chat (Only you can see)
Use `/maceshop` to open this GUI


