# 0.12.0
Functional changes:
- Update Spell Book slot icon
- Spell hotbar now renders fancy mouse and keyboard icons
- Fix dropping item not cancelling spell casting
- Fix swapping to caster item with number keys starting spell casting right away
- Spells with `arrow` item cost, now rely on vanilla Infinity enchantment
- Cancel spell casting upon opening GUI
API Breaking changes:
- Add area effect capability to any spell impact (moved from SpellProjectile)
- Rework the data part of `PROJECTILE` and `METEOR` release types
- In `ProjectileData.ClientData` projectile model related data has been moved into a subfield named `model`
- ItemConfig.Attribute `name` field retired, now full attribute id needs to be specified in `id` field
- ProjectileModel `RenderMode` new default is now `DEEP`
API Additions:
- Add spell impact specific schools definition
- Add new spell area effect cloud release action
- Add `content` field to Spell Container to indicate the type of supported spells (Spell vs Archery skill)
- Add `mode` field for spells, to allow using items instead of casting spells
- Add `casting_animates_ranged_weapon` for spells, to animate held bow pull state based on spell cast progress
- Add `light_level` field to Spell Projectile client data, to allow emitting ambient light (using LambDynamicLights)
- `PHYSICAL_RANGED` school can now be used for spells, given that Projectile Damage Attribute mod is installed
- Arrows being shot while casting spell with `"mode": "ITEM_USE"`, or shot with `"type": "SHOOT_ARROW"` can perform impact actions of the spell, can have their custom projectile model
- ItemConfig `attributes[].id` field now accepts projectile damage and combat roll related attributes. Third party attributes can be support via Mixin into `AttributeResolver`
- Add `HealthImpacting` interface for status effects, to modify damage and healing taken
- Add some shared status effect renderers: `OrbitingEffectRenderer`, `StunParticleSpawner`
- Fix spell tooltip indexed tokens
Other changes:
- Update MixinExtras to 0.2.0
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }