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: "<red>Burning</red>"
SupportedItems:
- "diamond_sword"
- "netherite_sword"
Weight: 2
MaxLevel: 3
MinCost:
Base: 1
AdditionalPerLevelCost: 0
MaxCost:
Base: 4
AdditionalPerLevelCost: 0
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}
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 MythicEnchants and can be any name you like. Must be a unique name and does not clash with other MythicEnchant names, NO SPACES ALLOWED
example_enchant:
Display
This is how you'd like the enchantment to be displayed on the item's lore.
example_enchant:
Display: "<red>Burning</red>"
MaxLevel
The maximum level your enchantment can be.
Defaults to 1
.
example_enchant:
Display: "<red>Burning</red>"
MaxLevel: 3
Weight
Sets how common this enchantment will appear when enchanting. The higher the number, the more common the enchantment. The value must be between 1 and 1024 (inclusive).
example_enchant:
Display: "<red>Burning</red>"
MaxLevel: 3
Weight: 200
MinCost and MaxCost
Sets the minimum or maximun XP cost for this enchantment in Enchanting Table.
The final cost is calculated using the formula base + additionalPerLevel * (level - 1)
.
example_enchant:
Display: "<red>Burning</red>"
MaxLevel: 3
Weight: 200
MinCost:
Base: 10
AdditionalPerLevelCost: 5
MaxCost:
Base: 20
AdditionalPerLevelCost: 5
AnvilCost
Sets the cost when applying this enchantment when using an anvil. The cost is halved when using a book, and the final cost is multiplied by the enchantment's level.
example_enchant:
Display: "<red>Burning</red>"
MaxLevel: 3
Weight: 200
MinCost:
Base: 1 # The cost at enchantment level 1
AdditionalPerLevelCost: 0 # Added to the base cost per level over 1
MaxCost:
Base: 3 # The cost at enchantment level 1
AdditionalPerLevelCost: 4 # Added to the base cost per level over 1
AnvilCost: 3
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_enchant:
Display: "<red>Burning</red>"
MaxLevel: 3
Options:
Cursed: true
ValidSlots
The slots the item can be in for the enchantment to be effective.
any
, mainhand
, offhand
, head
, chest
, legs
, feet
, armor
, and body
(For Horses and Wolves)
example_enchant:
Display: "<red>Burning</red>"
MaxLevel: 3
ValidSlots:
- mainhand
SupportedItems
A list of items that can be enchanted with this enchantment. Can take a list of items, if the config is set as a list, or an item tag if not.
example_enchant:
Display: "<red>Burning</red>"
MaxLevel: 3
ValidSlots:
- mainhand
SupportedItems:
- "diamond_sword"
- "iron_sword"
example_enchant:
Display: "<red>Burning</red>"
MaxLevel: 3
ValidSlots:
- mainhand
SupportedItems: "swords"
PrimaryItems
Item types that this enchantment appears on the Enchanting Table. Must be a subset of supported items. Can take a list of items, if the config is set as a list, or an item tag if not.
example_enchant:
Display: "<red>Burning</red>"
MaxLevel: 3
ValidSlots:
- mainhand
SupportedItems: "swords"
PrimaryItems:
- "diamond_sword"
- "iron_sword"
ConflictingEnchants
A list of enchantments this enchant is incompatible with. Can take a list of enchantments, if the config is set as a list, or an enchantment tag if not.
example_enchant:
Display: "<red>Burning</red>"
MaxLevel: 3
ValidSlots:
- mainhand
SupportedItems:
- "diamond_sword"
- "iron_sword"
ConflictingEnchants:
- "minecraft:fire_aspect"
- "mending"
example_enchant:
Display: "<red>Burning</red>"
MaxLevel: 3
ValidSlots:
- mainhand
SupportedItems: "swords"
ConflictingEnchants: "exclusive_set/damage"
Skills
Using Mythic 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_enchant:
Display: "<red>Burning</red>"
MaxLevel: 3
ValidSlots:
- mainhand
SupportedItems: "swords"
Skills:
- message{m="Hello world"} @world ~onJump
Examples
A replica of Fire Aspect which sets your target on fire when you attack it.
burning:
Display: "<red>Burning</red>"
SupportedItems:
- "diamond_sword"
- "netherite_sword"
Weight: 2
MaxLevel: 3
MinCost:
Base: 1
AdditionalPerLevelCost: 0
MaxCost:
Base: 4
AdditionalPerLevelCost: 0
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