- Add 1.21.6/1.21.7 support
- Add chance-based enchantments to loot
- An element in an `enchantments` list can also now be a mapping instead of a string
- This mapping has the following keys:
- `name` - The name of the enchantment
- `level` - The level of the enchantment, supports ranges
- `chance` - The chance that this enchantment is added to the item, from 0-1 (defaults to 1)
- The existing string enchantment format of `unbreaking 3` and `unbreaking 1-3` still works
- Add configurable damaged loot
- The `damage` option can be set on an item loot entry to set the ratio of total durability that should be removed from the given item
- For example, an item with `damage: 0.4` will have 40% less durability than max, or be at 60% of total durability
- A random amount of damage can be assigned using the `damage.min` and `damage.max` options, which will select a random damage ratio between the values every time the loot is dropped
- Add skill addlevel command to add to a player's skill level
- Syntax: `/skills skill addlevel <player> <skill> <level>`
- Add income placeholder to source template in sources menu
- Add option to subtract a percentage of skill XP on death
- Add support for start/end wildcards in source tags
### Changes
- Include item multiplier value in multiplier command
- Change BlockBreakEvent event priority for requirements to lowest
- Improve WorldEdit wand exclusion from Treecapitator
### Bug Fixes
- Fix stat rewards applying when skill permission is negated
- Fix mana not resetting when entering disabled world
- Fix Repairing ability not adding repair cost
- Fix NPE if StatModifier stat is null
- Fix NPE in ArmorModifierListener
- Fix No Debuff ability not working for some effects
- Fix tooltips not hidden on some menu fill items
- Fix requirements being applied in disabled worlds