Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
MythicEnchants MythicEnchants
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 7
    • Issues 7
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Operations
    • Operations
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • MythicCraft
  • MythicEnchantsMythicEnchants
  • Wiki
  • Custom Enchantments

Custom Enchantments · Changes

Page history
Update custom enchantment config authored Oct 27, 2024 by Phillip's avatar Phillip
Hide whitespace changes
Inline Side-by-side
Showing with 144 additions and 90 deletions
+144 -90
  • Custom-Enchantments.md Custom-Enchantments.md +144 -90
  • No files found.
Custom-Enchantments.md
View page @ 1ed4b3da
MythicEnchantments allows you to create fully functional enchants using the [Mythic Skill System](/../../../MythicMobs/-/wikis/Skills/Skills). Details of this system can be found on the [Mythic Manual](/../../../MythicMobs/-/wikis/home).
MythicEnchantments allows you to create fully functional enchants using the [Mythic Skill System](/../../../MythicMobs/-/wikis/Skills/Skills).
Details of this system can be found on the [Mythic Manual](/../../../MythicMobs/-/wikis/home).
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).
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:
```yaml
BURNING:
Display: 'Burning'
MinLevel: 1
burning:
Display: "<red>Burning</red>"
SupportedItems:
- "diamond_sword"
- "netherite_sword"
Weight: 2
MaxLevel: 3
Rarity: COMMON
EnchantableItems:
- DIAMOND_SWORD
- NETHERITE_SWORD
MinCost:
Base: 1
AdditionalPerLevelCost: 0
MaxCost:
Base: 4
AdditionalPerLevelCost: 0
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}
- 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.
......@@ -27,48 +35,69 @@ Most mechanics, conditions, and triggers from Mythic can be used in enchantments
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**
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**
```yaml
EXAMPLE_NAME:
example_enchant:
```
### Display
This is how you'd like the enchantment to be displayed when on an item.
This is how you'd like the enchantment to be displayed on the item's lore.
```yaml
EXAMPLE_NAME:
Display: '&7Custom Enchant'
example_enchant:
Display: "<red>Burning</red>"
```
### MinLevel
The minimum level your enchantment can be.
### MaxLevel
The maximum level your enchantment can be.
Defaults to `1`.
```yaml
EXAMPLE_NAME:
Display: '&7Custom Enchant'
MinLevel: 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).
```yaml
example_enchant:
Display: "<red>Burning</red>"
MaxLevel: 3
Weight: 200
```
### MaxLevel
The maximum level your enchantment can be.
Defaults to `5`.
### MinCost and MaxCost
Sets the minimum cost for this enchantment in Enchanting Table.
```yaml
EXAMPLE_NAME:
Display: '&7Custom Enchant'
MinLevel: 1
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
```
### ItemType
The type of item. `ARMOR` `TOOL` `WEAPON`
### 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.
```yaml
EXAMPLE_NAME:
Display: '&7Custom Enchant'
MinLevel: 1
example_enchant:
Display: "<red>Burning</red>"
MaxLevel: 3
ItemType: WEAPON
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
```
### Rarity
<!--### Rarity
The rarity for the enchant. Check [rarity](/rarities) for more info.
```yaml
EXAMPLE_NAME:
......@@ -77,98 +106,123 @@ EXAMPLE_NAME:
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](/Options) page
```yaml
EXAMPLE_NAME:
Display: '&7Custom Enchant'
MinLevel: 1
example_enchant:
Display: "<red>Burning</red>"
MaxLevel: 3
Options:
ShowInLore: FALSE
Cursed: true
```
### ValidSlots
The slots the item can be in for the enchantment to be effective.\
`ALL` `MAINHAND` `OFFHAND` `HEAD` `CHEST` `LEGS` `FEET`
`any`, `mainhand`, `offhand`, `head`, `chest`, `legs`, `feet`, `armor`, and `body` (For Horses and Wolves)
```yaml
EXAMPLE_NAME:
Display: '&7Custom Enchant'
MinLevel: 1
example_enchant:
Display: "<red>Burning</red>"
MaxLevel: 3
ValidSlots:
- HAND
- OFFHAND
- mainhand
```
### EnchantableItems
A list of items that can be enchanted with this enchantment.
### 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](https://minecraft.wiki/w/Tag#Item_tags_2) if not.
```yaml
EXAMPLE_NAME:
Display: '&7Custom Enchant'
MinLevel: 1
example_enchant:
Display: "<red>Burning</red>"
MaxLevel: 3
ValidSlots:
- mainhand
SupportedItems:
- "diamond_sword"
- "iron_sword"
```
```yaml
example_enchant:
Display: "<red>Burning</red>"
MaxLevel: 3
EnchantableItems:
- DIAMOND_SWORD
- IRON_SWORD
- WOODEN_SWORD
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](https://minecraft.wiki/w/Tag#Item_tags_2) if not.
```yaml
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. 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](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/enchantments/Enchantment.html) can be found on spigot javadocs
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](https://minecraft.wiki/w/Tag#Enchantment_tags) if not.
```yaml
EXAMPLE_NAME:
Display: '&7Custom Enchant'
MinLevel: 1
example_enchant:
Display: "<red>Burning</red>"
MaxLevel: 3
ValidSlots:
- mainhand
SupportedItems:
- "diamond_sword"
- "iron_sword"
ConflictingEnchants:
- FIRE_ASPECT
- DAMAGE_ALL
- "minecraft:fire_aspect"
- "mending"
```
```yaml
example_enchant:
Display: "<red>Burning</red>"
MaxLevel: 3
ValidSlots:
- mainhand
SupportedItems: "swords"
ConflictingEnchants: "exclusive_set/damage"
```
### Skills
Using Mythics skills and mechanics you are able to apply countless effects and abilities while using your item. Visit the [MythicMobs Skills Page](/../../../MythicMobs/-/wikis/Skills/Skills) to read more.
Using Mythic skills and mechanics you are able to apply countless effects and abilities while using your item. Visit the [MythicMobs Skills Page](/../../../MythicMobs/-/wikis/Skills/Skills) to read more.
```yaml
EXAMPLE_NAME:
Display: '&7Custom Enchant'
MinLevel: 1
example_enchant:
Display: "<red>Burning</red>"
MaxLevel: 3
ValidSlots:
- mainhand
SupportedItems: "swords"
Skills:
- ignite{ticks=100} @trigger ~onAttack
- message{m="Hello world"} @world ~onJump
```
## Examples
A replica of Fire Aspect which sets your target on fire when you attack it.
```yaml
BURNING:
Display: 'Burning'
MinLevel: 1
burning:
Display: "<red>Burning</red>"
SupportedItems:
- "diamond_sword"
- "netherite_sword"
Weight: 2
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
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}
- 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:
```yaml
......
Clone repository

Manual

  • Home
  • Changelogs
  • Commands and Permissions
  • FAQ / Common Issues
Usage
  • Installation & Setup
  • Premade Enchantments
  • Creating Custom Enchantments
  • Options
  • Rarities
  • Tables
Custom Enchantments
  • Mechanics
  • Targeters
  • Triggers
  • Conditions
  • Placeholders