MythicEnchantments allows you to create fully functional enchants using the Mythic Skill System. Details of this system can be found on the Mythic Manual.
Getting started creating a new enchantment in MythicEnchants is fairly straight-forward! All custom enchantments are located in the plugins/MythicEnchants/CustomEnchantments
folder, and to add a new one you just create a new file named after your enchant (or add it to an existing file).
Inside each file, a custom enchantment can look like this:
BURNING:
Display: 'Burning'
MinLevel: 1
MaxLevel: 3
Rarity: COMMON
EnchantableItems:
- DIAMOND_SWORD
- NETHERITE_SWORD
Skills:
- ignite{ticks=100} @trigger ~onAttack ?enchantLevel{level=1}
- ignite{ticks=200} @trigger ~onAttack ?enchantLevel{level=2}
- ignite{ticks=300} @trigger ~onAttack ?enchantLevel{level=3}
This enchantment would set whatever you hit on fire, just like Fire Aspect! Why did we remake Fire Aspect? Nobody knows! But in this case, it will set things on fire for 100 ticks per level.
Most mechanics, conditions, and triggers from Mythic can be used in enchantments - almost anything that makes sense will work how you'd expect. MythicEnchants also adds a bunch of new tools you can use that are specific to enchantments!
Enchantment Config
When creating an enchantment these are the settings you can use.
Internal Name
This string will be how your enchant will be referenced internally in MythicMobs and can be any name you like. Must be a unique name and does not clash with other internal enchantment names, NO SPACES ALLOWED AND MUST BE ALL CAPS
EXAMPLE_NAME:
Display
This is how you'd like the enchantment to be displayed when on an item.
EXAMPLE_NAME:
Display: '&7Custom Enchant'
MinLevel
The minimum level your enchantment can be.
Defaults to 1
.
EXAMPLE_NAME:
Display: '&7Custom Enchant'
MinLevel: 1
MaxLevel
The maximum level your enchantment can be.
Defaults to 5
.
EXAMPLE_NAME:
Display: '&7Custom Enchant'
MinLevel: 1
MaxLevel: 3
ItemType
The type of item. ARMOR
TOOL
WEAPON
EXAMPLE_NAME:
Display: '&7Custom Enchant'
MinLevel: 1
MaxLevel: 3
ItemType: WEAPON
Rarity
The rarity for the enchant. Check rarity for more info.
EXAMPLE_NAME:
Display: '&7Custom Enchant'
MinLevel: 1
MaxLevel: 3
Rarity: COMMON
Options
This is a special field which comes with numerous sub-options, like determining if the mob should despawn, setting knockback resistance, follow range, movement speed and many more. A list of available mob options can be found in the Enchantment Options page
EXAMPLE_NAME:
Display: '&7Custom Enchant'
MinLevel: 1
MaxLevel: 3
Options:
ShowInLore: FALSE
ValidSlots
The slots the item can be in for the enchantment to be effective.
ALL
MAINHAND
OFFHAND
HEAD
CHEST
LEGS
FEET
EXAMPLE_NAME:
Display: '&7Custom Enchant'
MinLevel: 1
MaxLevel: 3
ValidSlots:
- HAND
- OFFHAND
EnchantableItems
A list of items that can be enchanted with this enchantment.
EXAMPLE_NAME:
Display: '&7Custom Enchant'
MinLevel: 1
MaxLevel: 3
EnchantableItems:
- DIAMOND_SWORD
- IRON_SWORD
- WOODEN_SWORD
ConflictingEnchants
A list of enchantments this enchant is incompatible with. If the item being enchanted has one of these enchants it will not be able to receive the new enchant.
A list of available vanilla enchantments can be found on spigot javadocs
EXAMPLE_NAME:
Display: '&7Custom Enchant'
MinLevel: 1
MaxLevel: 3
ConflictingEnchants:
- FIRE_ASPECT
- DAMAGE_ALL
Skills
Using Mythics skills and mechanics you are able to apply countless effects and abilities while using your item. Visit the MythicMobs Skills Page to read more.
EXAMPLE_NAME:
Display: '&7Custom Enchant'
MinLevel: 1
MaxLevel: 3
Skills:
- ignite{ticks=100} @trigger ~onAttack
Examples
A replica of Fire Aspect which sets your target on fire when you attack it.
BURNING:
Display: 'Burning'
MinLevel: 1
MaxLevel: 3
MergeCostPerLevel: 5
Rarity: COMMON
ValidSlots:
- MAINHAND
Options:
ShowInLore: TRUE
LevelAsPower: FALSE
EnchantableItems:
- DIAMOND_SWORD
- NETHERITE_SWORD
ConflictingEnchants:
- FIRE_ASPECT
EnchantingTable:
MinExperience: 0
MaxExperience: 30
MinLevel: 1
MaxLevel: 3
Skills:
- ignite{ticks=100} @target ~onAttack ?enchantleve{level=1}
- ignite{ticks=200} @target ~onAttack ?enchantleve{level=2}
- ignite{ticks=300} @target ~onAttack ?enchantleve{level=3}
If you have Mythic Premium, you can also simplify things with math:
Skills:
- ignite{ticks="100 * <skill.var.enchant-level>"} @trigger ~onAttack