0.15.1
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
0.15.0
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
0.14.3
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)
0.14.2
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
0.14.1
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
0.14.0
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
Functional changes:
- Add obfuscated spell binding entries, when Spell Binding Table is not having enough supporting bookshelves
0.13.3
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
0.13.0
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
0.12.3
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
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
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
0.10.0
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