CustomEnchantmentsMaker
What is this?
Create your own custom enchantments with zero coding
Ever wanted to make a sword that heals you on hit? A pickaxe that auto-smelts and mines a whole vein? Armor that reflects damage back to attackers? Now you can — all from an in-game GUI or simple YAML config.
What is this?
CustomEnchantmentsMaker lets you design completely custom enchantments for your server. You pick a trigger, add actions, set conditions — done. Your enchantment works like vanilla ones: it shows in lore, can be applied via anvil, and even drops from the enchanting table.
No programming needed. No compilation. No restarts. No requirements!
Features
Full in-game GUI creator (/ce create <name>)
- Pick a trigger → add actions → set conditions → save. That's it.
- Choose display color for your enchantment name
- Set XP cost for anvil application
- Toggle whether it can drop as an enchanted book
- Configure enchanting table chance & weight
6 Trigger Types
- ATTACK — when you hit something
- DEFEND — when you take damage
- MINE — when you break a block
- DEATH — when you die
- SNEAK — when you start sneaking
- BOW_SHOOT — when you shoot a bow
25+ Actions (each trigger only shows the relevant ones in the GUI)
- HEAL — heal the caster or target (you choose) by a set amount of hearts
- DAMAGE — deal extra damage to the caster or target (yes, you can make cursed enchants)
- LIGHTNING — strike lightning on the caster or target
- SET_FIRE — set the caster or target on fire for a configurable duration
- STUN — completely freeze the target in place for a set time
- PUSH — knockback the target with full direction control — away, toward, up, left or right
- MISS — the attacker's hit does zero damage, just whiffs
- POTION — apply any potion effect to the caster
- POTION_TARGET — apply any potion effect to the target
- PARTICLE — spawn particle effects (flame, hearts, smoke, 27 types to pick from)
- SOUND — play any Minecraft sound effect
- COMMAND — run a console command with %player%, %target% and {level} variables
- EXPLODE — create a non-destructive explosion
- FIREBALL — shoot a small fireball in the direction you're lookin
- TELEPORT_BEHIND — instantly teleport behind the target
- BOOST_DROP — multiply block drops (from 1.1x up to 4.0x)
- BOOST_XP — multiply XP drops (from 1.1x up to 4.0x)
- SMELT_DROPS — automatically smelt everything a block drops
- REMOVE_LIQUIDS — remove all water and lava in a configurable radius
- VEIN_MINE — mine all matching blocks around the broken block
- RESPAWN_BLOCK — the mined block respawns instantly, but you still get the drops
- REDUCE_DAMAGE — reduce incoming damage by a percentage
- REFLECT — reflect full damage back to whoever hit you
- REINCARNATE — die and instantly respawn with temporary invincibility
- LIGHT — create temporary light blocks around you
- DURABILITY_COST — the enchanted item loses extra durability when the enchant fires (great for balancing powerful effects)
- Effects and durations may scale with level with multipliers!
HEAL, DAMAGE, SET_FIRE and LIGHTNING have a second menu where you choose whether the effect targets the caster or the victim — so yes, you can make cursed enchantments too
Flexible Conditions
- Activation chance (5% – 100%)
- Cooldown (1s – 300s)
- Weather requirement (clear / rain / thunder, multi-select)
- Day/Night restriction
- Target mob type filter (30+ mob types)
- Permission node
- World restriction
Anvil & Enchanting Table Support
- Custom enchantments work in anvils just like vanilla
- Merge two enchanted items — conflicts are properly handled
- Configurable XP cost per level
- Enchantments can drop as books from the enchanting table
- Per-enchant weight and chance for table drops
Conflict System
- Define which enchantments can't coexist (custom vs custom, custom vs vanilla)
- Conflicts are checked both ways automatically
- Anvil properly skips conflicting enchants and adjusts cost
Item Group System
- Apply enchantments to specific item groups: SWORDS, AXES, PICKAXES, ALL_ARMOR, ALL_MELEE, ALL_TOOLS, etc.
- Or just leave it blank for "any item"
Commands
/ce help — Show help
/ce list — List all enchantments (permission: ce.list)
/ce info <name> — Show detailed enchantment info (permission: ce.list)
/ce create <name> — Open the GUI editor to create a new enchantment (permission: ce.create)
/ce delete <name> — Permanently delete an enchantment from config and memory (permission: ce.delete)
/ce give <player> <enchant> <level> — Apply a custom enchant to the player's held item (permission: ce.give)
/ce book <player> <enchant> <level> — Give the player an enchantment book (permission: ce.book)
/ce deenchant — Strip all custom enchantments from your held item (permission: ce.deenchant)
/ce reload — Reload config and all enchantment definitions (permission: ce.reload)
/ce checkupdate - checks for plugin update
/ce changelog - shows changelogs from previous versions
Config.yml
Code (YAML):
# ============================================================
# CustomEnchantmentsMaker - config.yml
# ============================================================
settings
:
# Default XP cost per enchant level when using anvil
default_xp_cost_per_level
: 5
# Allow removing custom enchantments from items (de-enchanting)
allow_deenchant
: true
# XP cost for de-enchanting (flat)
deenchant_xp_cost
: 10
# If true, custom enchants on books are consumed on anvil merge
consume_book_on_anvil
: true
# Format for lore lines: use {display_name} and {level}
lore_format
: '&7
{display_name
} &f
{level
}'
# Separator added after custom enchantment lore block
lore_separator
: true
# Max actions per enchantment
max_actions
: 10
# Multiplier for custom enchant chance from enchanting table (1.0 = default, 2.0 = double chance)
enchant_table_chance_multiplier
: 1.0
# How often to check for updates (in minutes). Set to 0 to disable.
update_check_interval_minutes
: 180
show_bonus_enchant_message
: true
show_cooldown_message
: true
# All plugin messages. Supports & color codes.
# Available placeholders depend on the message — see the names for hints.
messages:
prefix
: '&8
[&6CE&8
] &r'
reload_success
: '&aPlugin reloaded successfully. Loaded
{count
} enchantments.'
no_permission
: '&cYou don't have permission to do that.'
unknown_command
: '&cUnknown command. Use /ce help for help.'
enchant_not_found
: '&cEnchantment '
{name
}' was not found.'
item_enchanted
: '&aApplied &6
{enchant
}
{level
}&a to your item.'
item_not_in_hand
: '&cYou must hold an item in your main hand.'
book_created
: '&aCreated enchantment book
:
&6{enchant}
{level
}&a.'
deenchant_success
: '&aSuccessfully removed
all custom enchantments from the item.'
deenchant_no_enchants
: '&cThis item has
no custom enchantments to remove.'
deenchant_no_xp
: '&cYou need &e
{cost
} XP levels &cto de-enchant this item.'
invalid_level
: '&cInvalid level. Must be between 1 and
{max
}.'
invalid_usage
: '&cUsage
:
{usage
}'
gui_saved
: '&aEnchantment &6
{name
}&a saved and loaded!'
gui_cancelled
: '&cCreation cancelled.'
gui_action_added
: '&aAction added
:
&7{action}'
cooldown_active
: '&cEnchantment &6
{enchant
}&c is on cooldown
:
&e{time}s&c remaining.'
enchant_table_bonus
: '&aBonus enchant
:
&6{enchant}
{level
}'
list_header
: '&6&lCustom Enchantments &7
(
{count
} total
):'
list_entry
: '&e
{id
} &7- &f
{display_name
} &7
(max
:
&e{max_level}&7, trigger
:
&a{trigger}&7)'
deenchant_disabled
: '
{prefix
}&cDe-enchanting is disabled.'
not_enough_xp
: '
{prefix
}&cYou need &e
{cost
} XP levels &cfor this enchantment.'
invalid_page
: '
{prefix
}&cInvalid page number.'
player_not_found
: '
{prefix
}&cPlayer not found.'
players_only
: '
{prefix
}&cThis command can only be used by players.'
level_must_be_number
: '
{prefix
}&cLevel must be a number.'
enchant_already_exists
: '
{prefix
}&cEnchantment ''&e
{id
}&c'' already exists! Use
a different name or delete it first with &e/ce delete
{id
}'
enchant_deleted
: '
{prefix
}&aEnchantment ''&e
{id
}&a'' has been permanently deleted.'
enchant_delete_failed
: '
{prefix
}&cFailed to delete enchantment ''&e
{id
}&c''.'
inventory_full
: '
{prefix
}&cYour inventory is full!'
enchant_table_not_applicable
: '
{prefix
}&cThis enchant cannot be applied to this
item.'
gui_action_removed
: '
{prefix
}&cAction removed.'
gui_need_action
: '
{prefix
}&cAdd at least one action!'
gui_chat_cancelled
: '
{prefix
}&cCommand input cancelled.'
gui_command_help
:
- '&6&l──────────────────────────────────'
- '&eType your command in chat &7
(without /
):'
- ''
- '&7Available variables:'
- ' &b
%player% &7- player name (caster)'
- ' &b
%target% &7- target entity name'
- ' &b
{level
} &7- enchantment level'
- ''
- '&7Example
:
&fgive
%player% diamond {level}'
- '&7Type &ccancel &7to go back.'
- '&6&l──────────────────────────────────'
gui_push_help
:
- '&6&l──────────────────────────────────'
- '&eType push power and direction:'
- '&7Format
:
&f<power>:<direction>'
- ''
- '&7Directions
:
&bAWAY&7, &bTOWARD&7, &bUP&7, &bLEFT&7, &bRIGHT'
- '&7Example
:
&f1.5:AWAY'
- '&7Type &ccancel &7to go back.'
- '&6&l──────────────────────────────────'
info_header
: '&6&l══════ Enchantment Info ══════'
info_id
: '&7ID
:
&f{id}'
info_display
: '&7Display Name
:
{display_name
}'
info_trigger
: '&7Trigger
:
&a{trigger}'
info_max_level
: '&7Max Level
:
&e{max_level}'
info_xp_cost
: '&7XP Cost/Level
:
&e{xp}'
info_applicable
: '&7Applicable to
:
&f{list}'
info_applicable_any
: '&7Applicable to
:
&fAny item'
info_more_suffix
: ' &7
(+
{count
} more
)'
info_enchant_table_yes
: '&7Enchant Table
:
&aYes &7
(weight
:
&e{weight}&7)'
info_enchant_table_no
: '&7Enchant Table
:
&cNo'
info_conditions_header
: '&7Conditions:'
info_condition_entry
: ' &e
{key
}
:
&f{value}'
info_no_conditions
: '&7Conditions
:
&8(none)'
info_actions_header
: '&7Actions
(&e
{count
}&7
):'
info_action_entry
: ' &8» &f
{action
}'
info_footer
: '&6&l══════════════════════════'
help
:
- '&8&m '
- '&6&lCustomEnchantmentsMaker &a&lPremium &7v
{version
}'
- '&8&m '
- '&e/ce help &7- Show this help'
- '&e/ce list &7- List
all enchantments'
- '&e/ce info <enchant> &7- Show detailed enchantment info'
- '&e/ce give <player> <enchant> <level> &7- Apply enchant to held item'
- '&e/ce book <player> <enchant> <level> &7- Give enchant book'
- '&e/ce create <name> &7- Open GUI editor'
- '&e/ce delete <name> &7- Permanently delete an enchantment'
- '&e/ce deenchant &7- Remove custom enchants from held item'
- '&e/ce reload &7- Reload plugin'
- '&e/ce checkupdate &7- Check for plugin updates'
- '&e/ce changelog
[page
] &7- View version changelog'
- ''
- '&8&m '
update_no_info
: '
{prefix
}&7No update info found.'
update_malformed
: '
{prefix
}&7Malformed update info.'
update_version_not_listed
: '
{prefix
}&7Version &e
{version
} &7not found in update
list.'
update_latest
: '
{prefix
}&aYou are running the latest version!'
update_available
: '
{prefix
}&eUpdate available! &7You are &c
{behind
} version
(s
) &7behind.
Latest
:
&a{latest}{high}'
update_high_count
: ' &c
(
{count
} high importance!
)'
update_check_failed
: '
{prefix
}&cCould not check for updates
:
{error
}'
update_checking
: '
{prefix
}&7Checking for updates
...'
changelog_fetch_failed
: '
{prefix
}&cCould not fetch changelog.'
changelog_no_data
: '
{prefix
}&cNo version data found.'
changelog_error
: '
{prefix
}&cError fetching changelog
:
{error
}'
changelog_more_hint
: '&7Use &e/ce changelog
{next_page
} &7for more.'
changelog_current_marker
: '&a▸ '
changelog_other_marker
: '&7 '
changelog_current_suffix
: ' &a
(current
)'
changelog_header
:
- '&8&m '
- '&6&lCustomEnchantmentsMaker &7Changelog &8
(page
{page
}/
{total
}
)'
- '&8&m '
changelog_entry
:
- '
{marker
}&6
{version
}
{current_suffix
}'
- '
{color
}
{title
}'
- ' &7
{description
}'
- ' &8Importance
:
{color
}
{importance
}'
changelog_footer
: '&8&m '
Enchantments.yml (example with all included enchantments)
Included Example Enchantments
Code (Text):
# ============================================================
# CustomEnchantmentsMaker - enchantments.yml
# ============================================================
#
# Triggers: ATTACK, DEFEND, MINE, DEATH, SNEAK, BOW_SHOOT
#
# applicable_to: (list of item groups this enchant can go on)
# - SWORDS Groups: SWORDS, AXES, PICKAXES, SHOVELS, HOES,
# - DIAMOND_AXE HELMETS, CHESTPLATES, LEGGINGS, BOOTS,
# BOWS, CROSSBOWS, TRIDENTS, SHIELDS, FISHING_RODS,
# ALL_ARMOR, ALL_MELEE, ALL_TOOLS, ALL
# Omit for "any item".
#
# enchant_table: true/false (can this enchant appear from the enchanting table?)
# enchant_table_weight: 10 (relative weight — higher = more likely to be picked)
# enchant_table_chance: 50 (per-enchant % chance, 0-100)
#
# conflicts: (list of incompatible enchantments)
# - BerserkerRage (custom enchant ID)
# - minecraft:sharpness (vanilla enchant, namespace:name)
#
# Conditions:
# chance: 15% — probability per activation (0-100%)
# world: survival — only in this world
# weather: RAIN — CLEAR | RAIN | THUNDER (comma-separated for OR)
# cooldown: 5s — seconds between activations per player
# permission: ce.use.xxx — player must have this permission
# time: DAY — DAY (ticks 0-12999) or NIGHT (ticks 13000-23999)
# target_type: ZOMBIE — only fire on this entity type (comma-separated)
#
# Actions:
# HEAL: 2 — heal 2 hearts (use {level} to scale with level)
# HEAL: 2:TARGET — heal the TARGET instead of caster
# DAMAGE: 3 — damage target 3 hearts
# DAMAGE: 3:CASTER — damage the CASTER instead
# LIGHTNING — strike lightning at target
# LIGHTNING:CASTER — strike lightning at caster
# SET_FIRE: 60 — set target on fire for 60 ticks (3 seconds)
# SET_FIRE: 60:CASTER — set caster on fire
# EXPLODE: 2 — explosion power 2, non-destructive
# STUN: 40 — freeze target for 40 ticks
# PUSH: 1.5:AWAY — push target (AWAY, TOWARD, UP, LEFT, RIGHT)
# MISS — cancel the attacker's damage
# POTION: SPEED:1:60 — potion on caster (effect:amplifier:seconds)
# POTION: NIGHT_VISION:2:80 — night vision III for 80 seconds
# POTION_TARGET: POISON:1:30 — potion on target
# PARTICLE: FLAME:10 — spawn 10 flame particles
# SOUND: ENTITY_WITCH_DRINK — play a sound
# COMMAND: give %player% diamond 1 — run console command
# FIREBALL — shoot a small fireball
# TELEPORT_BEHIND — teleport behind target
# BOOST_DROP: 1.5 — multiply drops by 1.5x
# BOOST_XP: 2.0 — multiply XP by 2x
# SMELT_DROPS — auto-smelt mined drops
# REMOVE_LIQUIDS: 5 — remove water/lava in radius 5
# VEIN_MINE: 1 — mine matching blocks in radius 1
# RESPAWN_BLOCK — respawn the mined block (drops still drop)
# REDUCE_DAMAGE: 25 — reduce incoming damage by 25%
# REFLECT — reflect full damage to attacker
# REINCARNATE: 100 — respawn with 100 ticks invincibility
# LIGHT: 3 — place light blocks in radius 3
# DURABILITY_COST: 5 — item loses 5 durability points
#
# ============================================================
Vampire:
display_name: "&cVampire"
max_level: 3
trigger: ATTACK
xp_cost_per_level: 5
applicable_to:
- SWORDS
- AXES
enchant_table: true
enchant_table_weight: 15
enchant_table_chance: 25
conflicts:
- BerserkerRage
conditions:
chance: 15%
target_type: ZOMBIE,SKELETON,HUSK,DROWNED,WITHER_SKELETON
actions:
- "HEAL: {level}"
- "PARTICLE: HEART:10"
- "SOUND: ENTITY_WITCH_DRINK"
Thunderstrike:
display_name: "&eThunderstrike"
max_level: 1
trigger: ATTACK
xp_cost_per_level: 8
applicable_to:
- SWORDS
enchant_table: true
enchant_table_weight: 5
conditions:
chance: 10%
cooldown: 3s
weather: THUNDER
actions:
- "LIGHTNING"
- "SOUND: ENTITY_LIGHTNING_BOLT_THUNDER"
BerserkerRage:
display_name: "&4Berserker Rage"
max_level: 3
trigger: ATTACK
xp_cost_per_level: 6
applicable_to:
- SWORDS
- AXES
enchant_table: true
enchant_table_weight: 10
enchant_table_chance: 30
conflicts:
- Vampire
conditions:
chance: 20%
cooldown: 10s
actions:
- "POTION: STRENGTH:{level}:60"
- "PARTICLE: FLAME:5"
IronSkin:
display_name: "&7Iron Skin"
max_level: 3
trigger: DEFEND
xp_cost_per_level: 5
applicable_to:
- ALL_ARMOR
enchant_table: true
enchant_table_weight: 12
conditions:
chance: 25%
actions:
- "POTION: RESISTANCE:1:40"
- "PARTICLE: ASH:5"
RainSlayer:
display_name: "&9Rain Slayer"
max_level: 2
trigger: ATTACK
xp_cost_per_level: 7
applicable_to:
- SWORDS
enchant_table: true
enchant_table_weight: 8
conditions:
chance: 30%
weather: RAIN,THUNDER
target_type: ZOMBIE,DROWNED,HUSK
actions:
- "DAMAGE: {level}"
- "LIGHTNING"
- "SOUND: ENTITY_LIGHTNING_BOLT_THUNDER"
Miner:
display_name: "&6Miner"
max_level: 5
trigger: MINE
xp_cost_per_level: 3
applicable_to:
- PICKAXES
- SHOVELS
enchant_table: true
enchant_table_weight: 20
conditions:
chance: 30%
actions:
- "POTION: HASTE:{level}:80"
Phoenix:
display_name: "&6Phoenix"
max_level: 1
trigger: DEATH
xp_cost_per_level: 15
applicable_to:
- ALL_ARMOR
enchant_table: true
enchant_table_weight: 5
conditions:
chance: 25%
cooldown: 300s
actions:
- "REINCARNATE: 100"
- "PARTICLE: FLAME:20"
- "SOUND: ENTITY_BLAZE_DEATH"
Shadow:
display_name: "&8Shadow"
max_level: 2
trigger: SNEAK
xp_cost_per_level: 7
applicable_to:
- ALL_ARMOR
enchant_table: true
enchant_table_weight: 8
conditions:
chance: 100%
cooldown: 5s
weather: CLEAR
actions:
- "POTION: INVISIBILITY:1:60"
- "PARTICLE: SMOKE:5"
Sniper:
display_name: "&aSniper"
max_level: 3
trigger: BOW_SHOOT
xp_cost_per_level: 6
applicable_to:
- BOWS
- CROSSBOWS
enchant_table: true
enchant_table_weight: 10
conditions:
chance: 40%
actions:
- "POTION: STRENGTH:{level}:20"
- "PARTICLE: CRIT:5"
AntiCreeper:
display_name: "&aAnti-Creeper"
max_level: 1
trigger: ATTACK
xp_cost_per_level: 10
applicable_to:
- SWORDS
- AXES
enchant_table: true
enchant_table_weight: 8
conditions:
chance: 100%
target_type: CREEPER
cooldown: 2s
actions:
- "DAMAGE: 5"
- "PARTICLE: EXPLOSION:3"
- "SOUND: ENTITY_GENERIC_EXPLODE"
NightHunter:
display_name: "&5Night Hunter"
max_level: 3
trigger: ATTACK
xp_cost_per_level: 8
applicable_to:
- SWORDS
- AXES
enchant_table: true
enchant_table_weight: 8
conditions:
chance: 35%
time: NIGHT
actions:
- "DAMAGE: {level}"
- "POTION: NIGHT_VISION:1:100"
- "PARTICLE: SMOKE:8"
- "SOUND: ENTITY_PHANTOM_BITE"
The plugin comes with 10 ready-to-use enchantments out of the box. They work immediately, you can use them as-is or tweak them in enchantments.yml
- Vampire - Lifesteal that only works on undead mobs. When you hit a zombie, skeleton, husk, drowned or wither skeleton, you have a 15% chance to heal yourself. Scales with level — at level 3 you heal 3 hearts. Conflicts with Berserker Rage so players can't stack both
- Thunderstrike - 10% chance to strike lightning on the enemy when you hit them. Only works during thunderstorms, so it's rare but satisfying. Has a 3 second cooldown so it can't be spammed
- Berserker Rage - 20% chance to get a temporary Strength boost when you hit something. Higher level = stronger effect. 10 second cooldown to keep it balanced. Conflicts with Vampire.
- Iron Skin - Defensive enchantment for armor. 25% chance to get Damage Resistance when you take a hit. Simple but effective for tanks.
- Rain Slayer - Extra damage against undead during rain or thunderstorms. Weather-specific enchantments make the game feel more dynamic — suddenly rain becomes a buff, not just an annoyance.
- Miner - Mining enchantment that gives you Haste when you break blocks. 30% chance, and the effect scales with level — at level 5 you're basically in creative mode speed.
- Phoenix - The big one. When you die wearing armor with Phoenix, there's a 25% chance you instantly respawn with full heals, a flame particle burst and a dramatic sound effect. 5 minute cooldown so it's not broken.
- Shadow - Sneak to go invisible. Works only in clear weather (no hiding during storms, that's too easy). 5 second cooldown between uses. Perfect for PvP servers.
- Sniper - Bow enchantment that gives you a Strength boost when you shoot. 40% chance, scales with level. Makes ranged combat more rewarding.
- Anti-Creeper - Exactly what it sounds like. Hit a creeper and deal 5 bonus damage with an explosion particle effect. 100% chance, 2 second cooldown. Creeper farms just got easier.
- Night Hunter - Extra damage and Night Vision at night. 35% chance, scales with level. Encourages players to go out hunting after dark instead of just sleeping through the night.
All of these are fully editable in enchantments.yml — change the numbers, swap actions, add conditions. Or delete them all and make your own from scratch with /ce create.
Still not sure?
You can try our
free version at first. There are some limits and not everything is included, but you can try if you like this plugin before purchase.
Need help?
Support is unlimited and free. If you have any problem, feel free to ask and I will try my best to help you.
Please, don't use reviews for bug report, always contact me directly via:
resource discussion
Spigot PM
Discord
I am trying my best to avoid bugs, but even best developers sometimes makes bugs that they didn't find itself.
99% of reported bugs were solved by update within 24 hours.
Feel free to reach out via Spigot or Discord:
lupecz
I check messages daily and reply to all feedback and questions.