VazkiiMods / Psi

Spellcrafting mod for Minecraft based around Vector math and stack-based processing
http://psi.vazkii.net
314 stars 89 forks source link

Error catcher evaluates its Fallback input immediately on spell casting #718

Closed defsil closed 3 years ago

defsil commented 3 years ago

The title pretty much sums the issue up - the "Error catcher" operator will evaluate its Fallback input as the spell is cast, ignoring the Sleep tricks. I was working on a new spell, noticed some weirdness going on and narrowed it down to this. :3

Version Information

Forge version: 36.1.0 Psi version: 1.94

Further Information

Steps to reproduce:

  1. Import this spell into a regular bullet: {modsRequired:[{modVersion:"1.16-94",modName:"psi"}],spellName:"Error Catched",uuidMost:-6977765670020036101L,validSpell:1b,spellList:[{data:{key:"psi:constant_number",constantValue:"250"},x:3,y:3},{data:{params:{_time:1},key:"psi:trick_delay"},x:3,y:4},{data:{key:"psi:constant_number",constantValue:"123"},x:4,y:4},{data:{params:{_number:0,_target:1},key:"psi:trick_debug"},x:4,y:5},{data:{params:{_fallback:4,_target:3},key:"psi:error_catch"},x:5,y:4},{data:{params:{_target:2},key:"psi:operator_acos"},x:6,y:4},{data:{key:"psi:constant_number",constantValue:"2"},x:6,y:5}],uuidLeast:-6142155323099039402L}
  2. Cast the spell!

What I expected to happen: Five seconds (100 ticks) pass, then an error message pops up.

What happened instead: An error message pops up immediately, despite the operator throwing the error not being due for evaluation only after the delay.

Many thanks for your hard work! ^w^