Closed ewanm89 closed 8 years ago
Also to note, the spell has 2 smite and an ignite trick on the closest entity, Could first trick have killed the mob before second trick fired causing a null pointer in the entity list?
Isn't smite damage calculation after the spell executes? On Fri, Feb 12, 2016 at 3:09 PM Ewan Marshall notifications@github.com wrote:
Also to note, the spell has 2 smite and an ignite trick on the closest entity, Could first trick have killed the mob before second trick fired causing a null pointer in the entity list?
— Reply to this email directly or view it on GitHub https://github.com/Vazkii/Psi/issues/17#issuecomment-183471421.
Yrsegal, from what I can tell from reading the code, the null pointer exception was during an iteration of the list to calculate the closest to the point. I don't know of any other possible reason the list might suddenly have a null entry in it? Maybe vazkii can work it out? Also the death may be from fire from a previous invocation. After all I was spamming it at the mobs chasing me at the time..,
Shouldn't any exception in checking just be a spellCompilationException, though? On Fri, Feb 12, 2016 at 6:12 PM Ewan Marshall notifications@github.com wrote:
Yrsegal, from what I can tell from reading the code, the null pointer exception was during an iteration of the list to calculate the closest to the point. I don't know of any other possible reason the list might suddenly have a null entry in it? Maybe vazkii can work it out? Also the death may be from fire from a previous invocation. After all I was spamming it at the mobs chasing me at the time..,
— Reply to this email directly or view it on GitHub https://github.com/Vazkii/Psi/issues/17#issuecomment-183521480.
Ok, here are the two possibilities. A null entity, which Vazkii should check for, and a null position which should throw spellCompilationException.
Crash with use of a spell that smites the closest enemy from where projectile is fired with ~3 mobs equidistant from where I fired.
Spell: {spellName:"Total Smiting",uuidMost:-8077247943535867938L,validSpell:1b,spellList: [0:{spellPosX:2,spellData:{spellKey:"selectorFocalPoint",params:{}},spellPosY:2},1:{spellPosX:3,spellData:{spellKey:"connector",params:{psi.spellparam.target:2}},spellPosY:1},2:{spellPosX:3,spellData:{spellKey:"operatorEntityPosition",params:{psi.spellparam.target:3}},spellPosY:2},3:{spellPosX:3,spellData:{spellKey:"trickBlaze",params:{psi.spellparam.position:4}},spellPosY:3},4:{spellPosX:4,spellData:{spellKey:"selectorNearbyEnemies",params:{psi.spellparam.radius:4,psi.spellparam.position:3}},spellPosY:1},5:{spellPosX:4,spellData:{spellKey:"operatorClosestToPoint",params:{psi.spellparam.position:3,psi.spellparam.target:1}},spellPosY:2},6:{spellPosX:4,spellData:{spellKey:"operatorEntityPosition",params:{psi.spellparam.target:1}},spellPosY:3},7:{spellPosX:4,spellData:{spellKey:"trickSmite",params:{psi.spellparam.position:1}},spellPosY:4},8:{spellPosX:5,spellData:{spellKey:"constantNumber",params:{},constantValue:"32"},spellPosY:1},9:{spellPosX:5,spellData:{spellKey:"trickDebug",params:{psi.spellparam.number:0,psi.spellparam.target:3}},spellPosY:2},10:{spellPosX:5,spellData:{spellKey:"trickSmite",params:{psi.spellparam.position:3}},spellPosY:3}],uuidLeast:-7601023520482615172L}
Crash log:
---- Minecraft Crash Report ----