Spell Engine

Spell Engine

Mod

🪄 Data driven magic library

Client and server Game MechanicsLibraryMagic

348.6k downloads
159 followers
Createda year ago
Updated22 days ago

Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.
Filter versions...
Filter channels...

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 and PHYSICAL_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 and PHYSICAL_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 and PHYSICAL_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 to AreaImpact 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.2

  • Add particle batch extent special behaviour
  • Add Spell Cloud extra radius
  • Add Spell Cloud center model rendering

0.13.1

  • Fix launch crash on dedicated servers

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 and roll_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.5

  • Fix channeled spell particles not being rendered, from player behind (for example: Fire Breath)
  • Add some comments to config

0.12.4

  • Add missing translation for Spell Area Effect entity
  • Add support for Supplementaries Quiver, for Archery skills

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.2

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

0.12.1

  • Disable hotbar directly for spell books
  • Disable MultiShot arrows being able to bypass iframes
  • Update Italian translation, thanks to Zano1999

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

No changelog was specified.

0.11.0

  • Add mouse scrolling to spell binding table GUI
  • Fix item damage causing spell casting interrupt
  • Keep order of player_relations in server config

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

0.9.32

  • 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

External resources



Project members

ZsoltMolnarrr

Owner


Technical information

License
GPL-3.0-only
Client side
required
Server side
required
Project ID