1.5.1
Functional changes:
- Add
/spell_cooldown
command to reset specific or all spell cooldowns for given players - Add Spell Cooldown are now persistence and synchronization (between game sessions and dimension changes)
- Add relic loot tags and injection entries (bumped loot config:
config/rpg_series/loot_equipment_v1
) - SpellBooks on cooldown can now be unequipped in creative mode
- Fix spell tooltip power estimation causing rare crashes
- Fix overly reactive spell hotbar
- Fix knockback direction of directly delivered spell impacts
- Fix spell cloud data tracker
- Fix BuffParticleSpawner spawned batch shape
- Fix spell projectile chain reaction forwarding null spell entry
API changes:
- Add maxSpellCount option for spell book creation
- Extend BuffParticleSpawner constructors
1.5.0
IMPORTANT DISCLAIMER:
- This update requires content mods to be updated, due to major API changes
Functional changes:
- Built in trinket slots
- Spell Book slot
spell/book
(enabled by default) - Spell Scroll slot
spell/scroll
(disabled by default) - Quiver slot (in standalone group)
misc/quiver
(enabled by default) - Quiver slot (in the
spell group
)spell/quiver
(disabled by default)
- Spell Book slot
- Add engine level immunity against slowing, rooting and stunning effects for bosses
API Changes:
- Build with Fabric Loom 1.9
- BREAKING CHANGES!
- Completely refreshed spell data structure
- Add spell
type
do differentiate betweenACTIVE
andPASSIVE
spells - Spell structure:
cast
andscroll
moved intoactive
object - Spell structure:
cost
reworked to be more structured - Spell structure:
release.target
split intotarget
anddeliver
- Completely rewrite spell stashes, now powered by unified spell triggers, stash effects are now automatically linked
- Rewrite spell impact target conditions, now unified with spell trigger target conditions
- Rewrite spell container merge logic
- Spell containers are now resolved from: main-hand, off-hand, equipment, trinkets (plugin)
- Custom spell container sources can be added
- Spell containers are cached for improved performance
- Add spell container
slot
field, to allow offhand containers
- Rewrite ammo handling
- Add support for ammo lookup in container items (Bundle)
- Add support for multiple ammo item cost
- Add quiver slot for Quivers and Rune Pouches
- Add support for passive spells
- Add spell triggers (for passives and stashes): ARROW_SHOT, ARROW_IMPACT, MELEE_IMPACT, SPELL_IMPACT_ANY, SPELL_IMPACT_SPECIFIC, DAMAGE_TAKEN, ROLL
- Removed
HealthImpacting
status effect configuration interface. Replaced by new attributes:spell_engine:healing_taken
spell_engine:damage_taken
- Misc technical
- Impact.apply_to_caster now overrides all intent checks, add effect remove action
- Add StatusEffectClassification to check action impairing effects
- Included sound entries are now available as static references in
SpellEngineSounds
- StatusEffect impact can now be used for helpful and harmful dispels
- Spell Projectile data synchronization rewritten
- Add generic data file providers to be used by any content mod
- SpellGenerator
- SimpleParticleGenerator
- SimpleSoundGenerator
- Magic related particles are now sorted and systematically generated
- Name formula:
magic_FAMILY_SHAPE_MOTION
- Example:
magic_frost_impact_burst
- For all variants, check out
net.spell_engine.fx.Particles
- ParticleBatch
PIPE
shape now fixed, useWIDE_PIPE
for old behaviour - Clean up magic related particle effects
- Name formula:
- Restructure config related api packages
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.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 withspell_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.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.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