Functional changes:
- Rework spell hotbar logic around
Use
key (right-click), to enable compatibility with weapons those have a right click use (such as Trident) - Rewrite first person camera compatibility (to support FirstPersonModel and Real Camera)
- Fix item use while spell casting
- Fix rendering on hidden HUD (Fabric API related)
- Fix spamming console with advancement info
- Fix misc render crash #87
- Fix spell projectile rendering order issues
API Changes:
- BREAKING - Deprecated all item usage related fields and types in Spell.java
- Internal: SpellHelper.performImpacts now requires array of impacts to be supplied
- Extend ArrowPerks API with custom array of impacts
- Add SpellStash capability to StatusEffects to store a spell
- Improve safety of Spell Projectile persistence
- Fix rare case where offhand item use was incorrectly shown on Spell Hotbar
- Improve safety of effect ID synchronization
Functional changes:
- Allow falling projectile (Meteor alike) spells to be casted on the ground
- Netherite (and above) armor and weapons get automatic fireproof setting
- Fix some tooltip issues
- Reinstate Trinkets mod requirement
- Disable Dynamic Lights compat, to avoid crashing, as updated alternatives violate class path
API Changes:
- BREAKING, internal! - SpellHelper.performSpell expects SpellTargetResult instead List of entities
- Add spell release type
METEOR
requires_entity
field
Functional changes:
- Improve auto swap feature, to prioritize block interactions
- Fix targeting Ender Dragon with spells #63
- Lower Fabric API version requirement
- Improve spell Beam rendering (no longer casts shadows, no longer conflicting with other transparent blocks, such as water)
- Improve Friend or Foe logic, direct damage within teams with friendly fire enabled is now allowed as expected
- Add loot table injections to: Trial Chambers chests, Stronghold Corridor
- Disable right-click interaction while actively casting spells
- Allow running on 1.21
- Fix spell cooldowns causing disconnects on dedicated servers
- Fix Spell binding table crafting
- Update to Minecraft 1.21.1
Functional changes:
- Player scale increasing spell range
- Add Spell Projectile safeguards against crashing
- Improve SpellBook tooltips
API Changes:
- BREAKING! Asset directory for animations have been renamed from
spell_animations
toplayer_animations
- Add DataComponent for Spell Container
- Spell Container is now immutable as record
- Add Spell Projectile launch sound
Functional changes:
- Improve auto swap feature to consider tools #71
- Client side configurable tooltip of "Casts spells from equipped Spell Book"
Functional changes:
- Spell Binding Table spell entries now have more clear requirement and cost information
- Add
spell_book_creation_enabled
config option to disable spell book creation at the Spell Binding Table - Add
spell_binding_level_cost_multiplier
config option - Add
spell_binding_lapis_cost_multiplier
config option
Functional changes:
- Reduce spell book creation level requirement
- Attempt to fix deseralization crash #62
- Fix Arcane Blast targeting allies
- Fix stuck casting sounds
API Changes:
- Extend item config attribute resolution
Functional changes:
- Reworked loot injection system, now able to spawn enchanted loot from tags
- Update Spell Infinity custom application condition, custom items can now be enabled by adding to
spell_engine:enchant_spell_infinity
tag
Functional changes:
- Disable class switching during cooldowns
- Add spellbook equip sound
Functional changes:
- Improve automatic hand swap feature
API Changes:
- Add throw related player animations
- Make rage buff particles translucent
Functional changes:
- Improve automatic hand swap feature
- Hide Spell Hotbar when player is in Spectator mode
Functional changes:
- Improve automatic hand swap feature
Functional changes:
- Add automatic hand swap (client configurable feature)
- Works when having a melee weapon and a skill use weapon in main and off hands
- Attack key will swap the melee weapon to the main hand
- Use key will swap the skill use weapon to the main hand
- Typically useful for archers (bow + spear)
- Fix random crashes of Spell Projectiles
- Update to latest Shoulder Surfing API
Functional changes:
- Improve Spell Binding obfuscation style (thanks to fzzyhammers)
- Add new particle effects and player animations
- Add global cooldown after instant spell cast (configurable)
- Update advancements scope and basic structure
API Changes:
- BREAKING! Replace spell projectile
ProjectileModel.RenderMode
withOrientation
- BREAKING! Spell tooltip: Multiple placeholders of the same kind have new format (example:
{damage_1}
,{damage_2}
...) - Update Fabric Loader to 15+ for embedded MixinExtras
- Add custom spell tooltip mutators (refactored SpellTooltip internals)
- Add teleport "BEHIND_TARGET" teleport action type
- Add spell projectile model rendered as held item (for throw skills)
- Add spell projectile travel sound
- Add spell specific movement speed multiplier during casting
API Changes:
- BREAKING! - Migrated to new version of Spell Power Attribute API
- Migrated to new version of Ranged Weapon API, Projectile Damage Attribute is no longer being used
- Expose
PHSICAL_RANGED
andPHYSICAL_MELEE
schools into public package (ExternalSpellSchools)
Functional changes:
- Add obfuscated spell binding entries, when Spell Binding Table is not having enough supporting bookshelves
- Migrate to latest API of Shoulder Surfing
- Draw Speed attribute (
ranged_weapon:haste
) working as haste for archery skills (PHSICAL_RANGED
school)
API Changes:
- Change embedding scope of
ExtraRadius
toAreaImpact
to be more widely applicable
Functional changes:
- Update Italian translation, thanks to Zano1999
- Fix render glitches of spell objects without emitted light, when not using shaders
- Add
{cloud_radius}
placeholder support to spell tooltip
- Add particle batch extent special behaviour
- Add Spell Cloud extra radius
- Add Spell Cloud center model rendering
- Fix launch crash on dedicated servers
API changes:
- Add
group
field to spell data, to group spells together (Spells with the same group override each other, prioritized by tier) - Add particle batch
invert
field, to spawn particles with reverse motion - Add particle batch
pre_spawn_travel
field, to offset particle position relative to motion - Add particle batch
roll
androll_offset
fields, to spawn particles with rotated motion vector - Add
nature_spark_mini
particle - Add new impact action type:
SPAWN
, for spawning entities - Add new impact action type:
TELEPORT
, to move the caster around - Add barebone immunity API
- Add ShaderCompat helper to determine active shader
- Add CustomLayers raw constructor
- Add two-way entity collision API
- Add SpellCloud
presence_sound
data field, batch spawning, custom positioning and timing - Add SpellCloud
spawn
structure for particles and sounds for spawning - Add SpellCloud LambDynamicLights support
- Add new spawn directives for Meteor spawning
Functional changes:
- Spell Container resolution
- Trinkets mod is now technically optional, to enable better interoperability for Forge players
- When Trinkets mod is missing, spell books can be put into the offhand slot (needs to be enabled in
config/server.json5 spell_book_offhand
) - Spell Containers are now resolved and combined from all equipped trinket slots (prioritizing Spell Book slot first)
- Usable offhand items (such as Shields) are now visible on the Spell Hotbar
- Add new loot config using rpg series item tags, into
config/rpg_series/loot.json
- Loot configuration now supports item tag id entries
- Spell particle emitting entity yaw and pitch now being synchronized
- Fix projectile pitch setting #40
- Fix some spells unable to hit Ender Dragon
- Update Italian translation, thanks to Zano1999
- Piglins love RPG Series golden weapons
- Fix channeled spell particles not being rendered, from player behind (for example: Fire Breath)
- Add some comments to config
- Add missing translation for Spell Area Effect entity
- Add support for Supplementaries Quiver, for Archery skills
Functional changes:
- Add generic item use skills (
spell_engine:use_item
,spell_engine:use_offhand_item
) - Add sneak to bypass Spell Hotbar (disabled by default, client configurable)
- Disable spell casting in Spectator mode
- Fix random crashes on PersistentProjectileEntity
- Fix Spell Binding Table arrow color states
API Changes:
- Add armor set modifier to allow/disable spell power enchantments
Functional changes:
- Fix on cooldown error messages when spell gets into cooldown
- Update Spell Binding Table arrow button appearance
API Changes:
- Add arrow perks damage multiplier
- Disable hotbar directly for spell books
- Disable MultiShot arrows being able to bypass iframes
- Update Italian translation, thanks to Zano1999
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
andMETEOR
release types - In
ProjectileData.ClientData
projectile model related data has been moved into a subfield namedmodel
- ItemConfig.Attribute
name
field retired, now full attribute id needs to be specified inid
field - ProjectileModel
RenderMode
new default is nowDEEP
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 intoAttributeResolver
- 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
- Add mouse scrolling to spell binding table GUI
- Fix item damage causing spell casting interrupt
- Keep order of
player_relations
in server config
Spell Hotbar can be controlled via Keybindings!
- Multiple hotkey behaviors available (hold to cast, press to cast), configurable for different casting mechanics separately
- Custom hotkeys can be assigned
- Vanilla hotkeys (such as use key, item hotbar keys) can be used, when no custom hotkeys are assigned
- Switching between item and spell hotbar is no longer needed, nor possible
- Spell Hotbar keybind is rendered on HUD
Other changes:
- Spell Haste effects spell casting animation playback speed
- Spell data files can now specify if Spell Haste should affect cooldown and casting speed
- Internal refactor for the entire spell casting mechanism
- Spell casting no longer stutters when quick switching between spells
- Optimise spell projectile sync payload
- Fix server config
player_relations
being reset on every launch
- Fix projectiles ricocheting to allies
- Fix projectile area impacts affecting allies
- Improve luminance of rendered beam spells
- Remove Architechtury toolchain, replaced with pure Fabric toolchain
- Add Spell Projectile light emission data field
- Add safeguards against SpellProjectile perks being null
- Add universal Spell Projectile perks: ricochet, bounce, pierce
- Add support for Spell Projectiles performing area effects
- Add support for Spell Projectiles to be spawned multiple times
- Add Spell Projectile launch events to Java API
- Add italian translation by Zano1999 #21
- Improve area effect in-radius check
- Fix right click to use abilities for blacklisted and datapack disabled items
- Fix HUD render blend glitch
- Migrate to new Fabric API model loading functions
- Add configurable entity relations (by arbitrary entity id). Iron Golem and Guard Villagers included by default.
- Restore and improve Shoulder Surfing compatibility
- Spell books can be removed from Spell Binding Table
- Support Minecraft 1.20.1
- Add protection against random crashes caused by UI #19
- Add Spell Binding Table item hint
- Fix stunned horses being able to walk around, thanks to Noaaan!
- Improve spell tooltip footer
- Fix spell damage estimation when having zero spell power
- Fix crash with Artifacts #16
- Add book placeholder icon to Spell Binding table GUI
- Add support for enchanted items in loot configuration
- Disable spell haste for generic weapons
- Increase Spell Binding table offer count cap (from 10, to 32)
- Add fallback compat blacklist regex
- Fix Spell Book creation in multiplayer
- Add Spell Book system (requires on Trinkets mod)
- Add Spell Book creation advancement criteria
- Add spell casting capability for weapons (data pack compatible, server configurable:
add_spell_casting_to_swords
,add_spell_casting_regex
) - Refactor enchantment restriction internal API
- Fix incompatibility with Taterzens #11 (samolego/Taterzens#132) - Thanks to Nillo-Code
- Fix keybind for viewing spell info #12
- Fix spell swords not harvesting cobwebs fast enough
- Extend Java API with custom spell handlers
- Add
SEMI_FRIENDLY
andMIXED
entity relations - Add
spell_pool
condition to spell binding advancement criteria - Remove advancements spell cast criteria (due to theoretical poor performance)
- Set
generic.attack_damage
vanilla attribute to be synchronized over to clients - Fix use spell_cost_item_allowed still requiring at least 1 rune
- Allow Fire Aspect for staves
API breaking changes:
spell.impact[].action.status_effect.apply_to_caster
was moved tospell.impact[].action.apply_to_caster
JSON API changes:
- Add min_power to
spell.impact[].action
- Area effects can now target the caster too
- Add new particles
- Add support for dual intent spells
Java API changes:
- Extend armor and weapon creation API
- Extend particle effect JSON API
- Add loot configuration API
- Add Ukrainian translation, thanks to un_roman
- Fix issues for Turkish players
- Improve spell cast sync
- Prevent spam click cheesing channelled spells
- Add FirstPersonModel support
- Remove use deprecated Spell Power API
- Fix server launch crash
- Fix Spell Binding Table mining properties
- Add new particle effects
- Add action impairing status effect system (aka CC, for example: Stun, Silence)
- Add entry and config definitions of armors and weapons to API package
- Allow offhand items to be used while ALT is held (such as Bow, Shield)
- Allow no pool in spell containers if spell id list is non-empty (wands)
- Simplify tooltip headers
- Remove dependency to Better Combat (first person animations are now supported by PlayerAnimator)
All spell bindings have been reset due to a major API change! We apologize for the inconvenience.
- Change spell assignment by introducing spell pools (API breaking change!)
- Fix sound stuck casting sound when swapping hands
- Add Shoulder Surfing adaptive crosshair support
- Update dependencies
- Make Better Combat mandatory due to beam render glitch
- Add spell cast attempt failure reason to HUD
- Changed custom model registration behaviour, no longer defaults to item subfolder (API breaking change!)
- Improve HUD config data structure
- Improve spell cast synchronization
- Fix mixin extras error for dependent projects
- Fix spell caster items preventing shield blocking
- Fix empty nbt tag causes items not to stack #5
- Improve mixin compatibility, lift breaks on Carry On
- Add spell power caching
- Add sticky targets
- Add filtering invalid targets
- Add proper friend or foe logic (configurable, now consistent with Better Combat)
- Add teammates being able to shoot projectiles through each other (configurable)
- Add spell hotbar control hint, update default client config
- Fix spell projectiles knocking back targets at incorrect angle
- Improve spell hotbar visibility in HUD config screen
- Specify Fabric API version requirement
- Add breaks flag for Carry On :(
- Add Spell Binding advancement criteria
- Add specific enchantment advancement criteria
- Fix channeled spells not released when switching to other items
- Remove some redundant configs
- Add Spell Hotbar indicator for minimized spells
- Add Spell Binding Table tooltip hint to empty staves
- Add StaffItem to API
- Allow Knockback and Looting enchantments for StaffItem
- Improve tooltip logic
- Improve target highlighting
- Fix crash when Better Combat is absent
- Fix Spell Binding Table no offers in multiplayer
- Fix Spell Binding Table disconnect in multiplayer
- Fix server crashes
- Initial alpha release