Spell Engine

Spell Engine

Mod

🪄 Data driven magic library

Client and server Game MechanicsLibraryMagic

1.17M downloads
317 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!
Filter versions...
Filter channels...

1.4.4

  • Fix Spell Projectiles sometimes visually glitching after piercing a target
  • Fix Spell Projectiles spamming the console
  • Allays and Iron Golems are now considered as friendly by default

1.4.3

  • Improve spell projectile interpolation

1.4.2

  • Fix high luminance of beams spell layer ordering
  • Fix brightness for some spell particles

1.4.1

  • Fix Arcane Charge not applying to spell caster
  • Fix unstable multiplayer alongside Better Combat mod
  • Improve render effect of spell beams (with added configuration to disable high luminance)
  • Restore disabling creation of certain spell books, by adding to them to spell_engine:non_craftable_spell_books item tag

API Changes:

  • Add spell.projectile.homing_after_absolute_distance to allow homing projectiles to start homing after reaching certain distance
  • Add spell.projectile.homing_after_relative_distance to allow homing projectiles to start homing after reaching certain distance relative to the target
  • Add spell.release.target.projectile.direction_offsets to allow shooting projectile into various directions
  • Add channelTickIndex to ImpactContext, to allow tracking channeling progress

1.4.0

IMPORTANT DISCLAIMER:

  • Items in the spell book trinket slot will be lost (as the slot itself is being relocated)
  • This update requires content mods to be updated, due to major API changes

Functional changes:

  • Add support for spell scroll slot, can be enabled using data pack
  • Rework trinkets integration, to declare custom slot group
  • Rework container merge logic
  • Spell cooldowns now get imposed onto the hosting item
  • Durability cost of spell cast will be imposed on the source ItemStack of the spell (if possible)
  • Spell projectiles may perform area impacts when colliding blocks
  • Fix empty spell scrolls generated in loot chests
  • Updated loot defaults (Illager Invasion)

API Changes:

  • Add spell.cost.cooldown_hosting_item to disable imposing spell cooldowns onto the hosting item
  • Add spell.range_melee to match spell range with melee attack range (EIR)
  • Add spell.impact.target_conditions allowing entity type specific immunities, weaknesses and resistances

1.3.2

  • Fix dedicated server crash

1.3.0

Functional changes:

  • Add Spell Scrolls, automatically generated for all spells, found in loot chests, can be added to matching spell books
  • Add support for any spell book logic, any item can be turned into a spell book by adding to spell_engine:spell_books tag, and adding proper spell container to it
  • Improved Spell Container merge logic, to allow resolving spells from equipment (New config options available in spell_engine/server.json5, starting with spell_container_from )
  • Renamed loot config (responsible for equipment loot injection) to rpg_series/loot_equipment.json
  • Add separate config file for Spell Scroll loot injection, rpg_series/loot_scrolls.json
  • Update loot config defaults (Aether Villages, BOMD: Obsidilith, DNT: End Castle, Dungeons Arise: Shiraz Palace, Aviary)
  • Spell Books and Spell Scrolls placeable into Chiseled Bookshelf
  • Fix spell tooltip ordering with advanced tooltip
  • Fix loot injection from non tag entries

API Changes:

  • Add spell.learn.enabled field to disable unlocking via Spell Binding Table
  • Add spell.scroll object, defining various spell scroll related parameters
  • Spell container from held item, now requires is_proxy = true to cast spells

1.2.2

Functional changes:

  • Fix HUD rendering issues

1.2.1

Functional changes:

  • Modify loot config, to reduce loot frequency in some of the commonly occurring chests
  • Restore LambdaDynamicLights compatibility

API Changes:

  • Add spell.cast.animation_pitch field

1.2.0

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

0.15.12

Functional changes:

  • Fix crashes alongside Supplementaries, due to outdated quiver compatibility (now removed), thanks to @Dralaon #90

1.1.2

  • Improve safety of Spell Projectile persistence
  • Fix rare case where offhand item use was incorrectly shown on Spell Hotbar

1.1.1

  • Improve safety of effect ID synchronization

0.15.11

Functional changes:

  • Fix targeting Ender Dragon with spells #63
  • Fix casting sound muting after failed cast attempt
  • Improve spell Beam rendering (no longer casts shadows, no longer conflicting with other transparent blocks, such as water)
  • Improve auto swap feature to consider tools #71
  • Improve spell projectile ricochet hit consistency
  • Improve spell projectile parsing and restoring stability

1.1.0

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

1.0.5

Functional changes:

  • Improve auto swap feature, to prioritize block interactions
  • Fix targeting Ender Dragon with spells #63

1.0.4

  • Lower Fabric API version requirement

1.0.3

  • 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

1.0.2

  • Fix spell cooldowns causing disconnects on dedicated servers

Project members

ZsoltMolnarrr

Owner

Details

Licensed GPL-3.0-only
Published 2 years ago
Updated 6 days ago