hCustomEnchantments
Configurable Custom Enchantments for Minecraft Servers
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
hCustomEnchantments adds a complete custom enchantment system with configurable enchant files, enchant books, anvil support, optional enchanting table generation, conflicts, requirements, actions and gameplay effects for tools, weapons, armor, bows, crossbows, tridents and utility items.
The plugin includes 24 ready-made enchantments and lets you adjust their levels, names, lore, costs, applicable items, conflicts, effects and action feedback through YAML configuration files.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Features
24 Custom Enchantments
The plugin includes a large set of custom enchantments for different item types.
- Tool enchantments
- Sword enchantments
- Bow and crossbow enchantments
- Trident enchantments
- Armor enchantments
- Boot enchantments
- Totem enchantment
- Curse-style enchantment
Each enchantment has its own configuration file inside the
enchants folder.
Code (Text):
plugins/hCustomEnchantments/enchants/
────────────────────────────────────────
Separate Enchant Configs
Every custom enchantment is configured separately.
You can edit:
- Display name
- Roman level text
- Book name
- Book lore
- Rarity
- Active slots
- Applicable items
- Anvil cost
- Enchanting table settings
- Conflicts
- Requirements
- Level-specific settings
- Effect chances
- Effect duration
- Damage values
- Utility behavior
This makes the system easy to balance without editing the plugin code.
────────────────────────────────────────
Anvil Support
Custom enchant books can be applied through the anvil.
The plugin supports:
- Custom anvil costs
- Material-based cost bonuses
- Level combining
- Conflict checks
- Requirement checks
- Custom warning item names
- Preserving other custom enchantments
Each enchantment can be enabled or disabled for anvil usage per level.
────────────────────────────────────────
Enchanting Table Support
Custom enchantments can also be added through the enchanting table if enabled in the enchant config.
Each level can have its own:
- Enable state
- Required enchanting table level range
- Random chance
- Conflict rules
- Requirement rules
By default, the included configs keep enchanting table generation disabled, so you can decide exactly which enchantments should be obtainable this way.
────────────────────────────────────────
Conflict and Requirement System
Enchantments can conflict with other custom enchantments or vanilla enchantments.
Example formats:
Code (Text):
PLUGIN:lifesteal:*
PLUGIN:drill:*
VANILLA:loyalty:*
Enchantments can also require another enchantment before they can be applied.
For example, the Return enchantment can require vanilla Loyalty on the trident.
────────────────────────────────────────
Custom Enchant Books
Administrators can give custom enchant books to players with a command.
Each book uses the name and lore from the enchantment configuration.
The plugin can also give all registered enchantment books at once. When needed, the books are packed into shulker boxes to keep the delivery clean.
────────────────────────────────────────
Action System
hCustomEnchantments includes a flexible action system.
Actions can be executed when:
- A custom enchantment is received through the enchanting table
- A specific enchantment effect is triggered
Supported action types include:
Code (Text):
[Message]
[Broadcast]
[Console]
[Player]
[Sound]
[Title]
[ActionBar]
[BossBar]
[Particle]
[Firework]
[Effect]
[Vault]
[ACHIVEMENT]
Available internal placeholders:
Code (Text):
{prefix}
{player}
{enchant}
PlaceholderAPI values can be parsed inside supported action text if PlaceholderAPI is installed.
────────────────────────────────────────
Optional Vault Support
Vault can be used inside actions for economy operations.
Supported economy actions include giving, removing, setting and clearing balance through the plugin action system.
Vault is optional and is only required if you use Vault-based actions.
────────────────────────────────────────
Grindstone Handling
When custom enchantments are removed through the grindstone, the plugin cleans up custom enchantment lore from the resulting item.
Paper or Purpur is recommended for the best experience with this feature.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Enchantments
Mining and Tool Enchantments
Code (Text):
drill - Breaks a cube of blocks around the mined block
magnetism - Sends mined drops directly into the inventory
lava_walker - Creates a safe temporary platform on lava
lumberjack - Breaks connected log blocks with an axe
autosmelt - Smelts mined drops automatically
pinger - Warns when tool durability becomes low
web - Breaks a vein of matching blocks
unstable - Makes the item lose extra durability
Sword Enchantments
Code (Text):
glowing - Applies glowing to the target
armor_breaker - Damages the target's armor faster
lifesteal - Gives regeneration after hitting a target
poison - Applies poison to the target
heavy - Applies slowness to the target
Bow and Crossbow Enchantments
Code (Text):
homing - Steers projectiles toward a priority target
sniper - Increases projectile speed
Trident Enchantments
Code (Text):
attraction - Pulls the target toward the player
pull - Pulls the player toward the trident hit point
return - Returns the thrown trident to its owner
explosive - Creates a configurable explosion on hit
stupor - Applies weakness and slowness on hit
Armor and Utility Enchantments
Code (Text):
jumper - Gives jump boost while wearing boots
minecart_resistance - Reduces TNT minecart explosion damage
last_chance - Moves the enchanted item to a configured slot at low health
experience - Increases experience from blocks and entities
────────────────────────────────────────
Command Aliases for Enchants
Some enchantments also have command aliases:
Code (Text):
detection -> glowing
oxidation -> armor_breaker
vampirism -> lifesteal
scout -> pull
recall -> return
magnet -> magnetism
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Commands
Code (Text):
/hcustomenchants
/hcustomenchants give <player> <enchant> <level>
/hcustomenchants giveall <player>
Command description:
Code (Text):
/hcustomenchants - Shows help
/hcustomenchants give <player> <enchant> <level> - Gives an enchant book
/hcustomenchants giveall <player> - Gives all custom enchant books
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Permissions
Code (Text):
hcustomenchants.admin - Allows using hCustomEnchantments admin commands
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Configuration
Main configuration file:
Code (Text):
plugins/hCustomEnchantments/config.yml
Enchant configuration folder:
Code (Text):
plugins/hCustomEnchantments/enchants/
Included enchant files:
Code (Text):
armor_breaker.yml
attraction.yml
autosmelt.yml
drill.yml
experience.yml
explosive.yml
glowing.yml
heavy.yml
homing.yml
jumper.yml
last_chance.yml
lava_walker.yml
lifesteal.yml
lumberjack.yml
magnetism.yml
minecart_resistance.yml
pinger.yml
poison.yml
pull.yml
return.yml
sniper.yml
stupor.yml
unstable.yml
web.yml
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Requirements
- Java 17 or newer
- Minecraft 1.16 or newer
- Paper or Purpur recommended
Optional dependencies:
PlaceholderAPI is used for parsing placeholders in supported action text.
Vault is used only for Vault economy actions.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Installation
- Place hCustomEnchantments.jar into your server's plugins folder.
- Restart the server.
- Open plugins/hCustomEnchantments/config.yml.
- Edit the main settings and action messages.
- Open plugins/hCustomEnchantments/enchants/.
- Configure the enchantments you want to use.
- Give yourself hcustomenchants.admin.
- Give a book with /hcustomenchants give <player> <enchant> <level>.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Notes
- All enchantments can be balanced through YAML files.
- Anvil availability can be configured per enchantment level.
- Enchanting table availability can be configured per enchantment level.
- Conflicts and requirements can be configured for custom and vanilla enchantments.
- Custom action feedback can be configured globally and per enchantment.