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. The name will be lowercased by convention.
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. The value must be between 1 and 255 (inclusive).
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 ennchantment when offered on the Enchanting Table.
The final cost is calculated using the formula base + additionalPerLevel * (enchantLevel - 1)
.
example_enchant:
Display: "<red>Burning</red>"
MaxLevel: 3
Weight: 200
MinCost:
Base: 10
AdditionalPerLevelCost: 5
MaxCost:
Base: 20
AdditionalPerLevelCost: 5
AnvilCost
Sets the XP cost when using an anvil to enchant an item. 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
AdditionalPerLevelCost: 0
MaxCost:
Base: 3
AdditionalPerLevelCost: 4
AnvilCost: 3
Options
This is a special field which comes with numerous sub-options, like determining if the enchant should be offered in the enchanting table, if the enchant should be generated in random loots, and many more. A list of available enchant 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
- offhand
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