1.7.0
WARNING: All players must use the same version, due to networking changes. (Players with Spell Engine 1.6.X, won't be able to connect to servers with Spell Engine 1.7.0)
Functional changes:
- Fixed spell container caching (spells sometimes not showing up on hotbar)
- Fixed projectiles hitting the caster sometimes (chain reaction), fixes #117
- Fixed direct spells delivering additional area impacts
- Fixed granular status effect removal (by spells)
- Improve Spell Registry synchronization (ditching base64), fixes #119
- Improve "On Cooldown" HUD message, no to be shown right after spell cast
- Update loot injection defaults
- Now include Armor Tier 4, and Armor Tier 5 entries
- Update Dungeons Arise: Infested Temple, Kisegi Sanctuary
API changes:
- Add new spell type
MODIFIER
, to allow modifying existing spells in narrow pre-defined waysrange_add
to add extra range to spellspower_modifier
to add extra power, crit chance, crit damageeffect_amplifier_add
to add extra amplifier to status effectseffect_duration_add
to add extra duration to status effectscooldown_duration_deduct
to reduce cooldown durationprojectile_launch
to modify projectile launch parameters (count, velocity, etc...)projectile_perks
to modify projectile perks (ricochet, bounce etc...)additional_placements
to extend placements of spell cloudsmutate_impacts
andimpacts
to add additional impacts to the spellstash_amplifier_add
to add extra amplifier to spell stashes- spell specific modifiers are stored in a cached manner
- Add Equipment Sets functionality, for creating item set bonuses
- Fully data driven (new data type, stored in DynamicRegistry), defined in data files
- Data file location:
data/NAMESPACE/equipment_set/MY_SET.json
- Equipment set bonuses can provide: attributes, spells (active/passive/modifier)
- Supports any kind of equipment (weapons, armors, shields, trinkets...)
- Spell tooltips now automatically work for all token types, in plural mode
- such as:
{effect_duration_1}
,{effect_duration_2}
- such as:
- Universal pattern matching logic now supports universal negate, such as:
!namespace:path
matches everything exceptnamespace:path
!#namespace:path
matches all items except ones insidenamespace:path
tag!~my_regex
matches everything except the regex
- Add server side spell container sources
- Synced to players
- Managing its content requires granular add/remove operations and imperative sync
- Spell structure changes:
- Add spell cloud
impact_cap
(for trap-like mechanics) - Add new impact action:
TAUNT
, forcing entities to attack the caster - Add
area_impact.triggering_action_type
, for only matching impact types to trigger area impact - Add
area_impact.execute_action_type
, for filtering impact types to execute area impact actions - Add
area_impact.skip_center_target
, to skip center target for area impact - Add
impact.chance
, to allow random chance for impact to happen - Add new trigger
SPELL_AREA_IMPACT
firing afterarea_impact
is executed - Cloud delivery now supports location
- Add spell cloud
- Status Effect
RemoveOnHit
API reworked, expanded:- Indirect spell damage events (such as area effects) now produce DamageSource that counts as indirect
RemoveOnHit
accepts trigger type, to only be removed upon direct or indirect hitsRemoveOnHit
accepts removal chanceRemoveOnHit
accepts remove stack count
- Update included particle types
- magic/vertical_stripe particles are now animated
- Add
sign_fist
particle type
- Add SpellEngineEffects, for common status effects, such as:
spell_engine:stun
1.6.10
Functional changes:
- Friend or Foe logic now supports FTB Teams membership
- Friend or Foe logic extended with additional configuration options
- Update loot injection defaults
API changes:
- Status effect impact type, remove mode, now supports id pattern
- Universal pattern matcher now supports negated explicit match (prefix:
!
)
1.6.9
Functional changes:
- Attempt to fix stuck spell casting sounds
- Update spell hotbar Mouse keybind visualisation
- Update translations
- Data tags, for compatibility with the reworked Amplify Spell enchantment
- Data tags, for implicit compatibility with Spell Volatility enchantment
API changes:
- Data gen API, now accepts
magical
parameter for armor tag generation (Spell Volatility)
1.6.0
Functional changes:
- Fix spell scroll tooltips
- Reworked spell binding loot function (
spell_engine:spell_bind_randomly
), now supports multiple parameters- (new) spell pool
- spell tier
- (new) spell count
- Loot injection now supports item tag filters
API Changes:
- BREAKING! Changed path for loot tier tags
- Add some more generic sounds
- Add spell delivery delay
- Add spell trigger cap per tick
- Add impact
attribute_from_target
field - Add spell trigger melee condition fields (
melee.is_combo
,melee.is_offhand
) (based on Better Combat combo) - Add spell trigger spell condition fields
- Add spell cooldown impact
- Add SpellProjectile custom bounding box with volumetric collision detection
- Add some new template particles, supporting parameter fields from ParticleBatches
- color
- scale
- follow_entity
- max_age
- Add template particles: spell sparkle variants
- Add template particles: spell area effect variants
- Add template particles: sign variants
spell.active.scroll
is now deprecated, marked for removal
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