Psi

Psi

45M Downloads

Creative CAD isn't overpowered enough

Bedrockbreaker opened this issue ยท 1 comments

commented

I was testing out an extremely math-heavy spell and I ran into the barrier of the max complexity. So, I figured, "Well! I'll just go test it in creative!" Much to my dismay, the creative CAD still has those limitations.
A creative CAD has the following limitations:

  • Complexity. Should be infinite. Is only 32.
  • Projection. Should also be infinite. Is only 6.
  • Overflow. Should technically be infinite, but does not matter too much since it the CAD doesn't even use psi.

the spell, in case you wanted to look at it. Still a WIP though, and I can't test it, (for obvious reasons).
{spellName:"Long Distance Place",uuidMost:-3622100255124535975L,validSpell:1b,spellList:[0:{data:{params:{_target:4},key:"connector"},x:0,y:0},1:{data:{params:{_target:1},key:"operatorVectorExtractX"},x:0,y:1},2:{data:{params:{_target:1},key:"connector"},x:0,y:2},3:{data:{params:{_target:1},key:"connector"},x:0,y:3},4:{data:{params:{_target:4},key:"connector"},x:0,y:4},5:{data:{params:{_target:1},key:"connector"},x:0,y:5},6:{data:{key:"selectorCaster"},x:0,y:7},7:{data:{params:{_target:1},key:"operatorEntityPosition"},x:0,y:8},8:{data:{params:{_target:4},key:"connector"},x:1,y:0},9:{data:{params:{_target:1},key:"operatorVectorExtractY"},x:1,y:1},10:{data:{params:{_target:1},key:"connector"},x:1,y:2},11:{data:{params:{_number2:1,_number3:4,_number1:3},key:"operatorSum"},x:1,y:3},12:{data:{params:{_target:1},key:"connector"},x:1,y:4},13:{data:{params:{_x:3,_y:1,_z:4},key:"operatorVectorConstruct"},x:1,y:5},14:{data:{params:{_target:1},key:"connector"},x:1,y:6},15:{data:{params:{_target:3},key:"operatorEntityLook"},x:1,y:7},16:{data:{params:{_ray:1,_max:0,_position:3},key:"operatorVectorRaycastAxis"},x:1,y:8},17:{data:{params:{_target:2},key:"connector"},x:2,y:0},18:{data:{params:{_target:2},key:"connector"},x:2,y:1},19:{data:{params:{_target:4},key:"connector"},x:2,y:2},20:{data:{params:{_target:1},key:"operatorVectorExtractZ"},x:2,y:3},21:{data:{params:{_target:3},key:"connector"},x:2,y:4},22:{data:{params:{_target:1},key:"connector"},x:2,y:5},23:{data:{params:{_target:3},key:"connector"},x:2,y:6},24:{data:{params:{_target:3},key:"connector"},x:2,y:8},25:{data:{key:"constantNumber",constantValue:"9"},x:3,y:0},26:{data:{params:{_shift:0,_position:1},key:"trickSwitchTargetSlot"},x:3,y:1},27:{data:{params:{_target:4},key:"connector"},x:3,y:2},28:{data:{params:{_target:2},key:"connector"},x:3,y:4},29:{data:{params:{_target:2},key:"connector"},x:3,y:5},30:{data:{params:{_vector2:2,_vector1:3},key:"operatorVectorProject"},x:3,y:6},31:{data:{params:{_target:2},key:"connector"},x:3,y:7},32:{data:{params:{_target:3},key:"connector"},x:3,y:8},33:{data:{params:{_target:4},key:"operatorEntityLook"},x:4,y:0},34:{data:{params:{_ray:1,_max:0,_position:4},key:"operatorVectorRaycastAxis"},x:4,y:1},35:{data:{params:{_target:1},key:"connector"},x:4,y:2},36:{data:{params:{_target:3},key:"connector"},x:4,y:4},37:{data:{key:"selectorSneakStatus"},x:4,y:7},38:{data:{params:{_target:3},key:"connector"},x:4,y:8},39:{data:{key:"selectorCaster"},x:5,y:0},40:{data:{params:{_target:1},key:"operatorEntityPosition"},x:5,y:1},41:{data:{params:{_target:3},key:"connector"},x:5,y:2},42:{data:{params:{_number:0,_target:2},key:"trickDebug"},x:5,y:3},43:{data:{params:{_vector3:0,_vector2:2,_vector1:3},key:"operatorVectorSum"},x:5,y:4},44:{data:{params:{_target:4},key:"connector"},x:5,y:5},45:{data:{key:"constantNumber",constantValue:"1"},x:5,y:6},46:{data:{params:{_number2:1,_number3:0,_number1:3},key:"operatorSubtract"},x:5,y:7},47:{data:{params:{_target:3},key:"connector"},x:5,y:8},48:{data:{params:{_target:3},key:"operatorEntityLook"},x:6,y:0},49:{data:{params:{_ray:1,_max:0,_position:3},key:"operatorVectorRaycast"},x:6,y:1},50:{data:{params:{_vector3:0,_vector2:1,_vector1:3},key:"operatorVectorSum"},x:6,y:2},51:{data:{params:{_target:1},key:"connector"},x:6,y:3},52:{data:{params:{_max:4,_target:3,_position:1},key:"trickPlaceInSequence"},x:6,y:4},53:{data:{params:{_target:4},key:"connector"},x:6,y:5},54:{data:{key:"constantNumber",constantValue:"-1"},x:6,y:6},55:{data:{params:{_number2:1,_number3:0,_number1:3},key:"operatorMultiply"},x:6,y:7},56:{data:{params:{_target:3},key:"connector"},x:6,y:8},57:{data:{key:"selectorCaster"},x:7,y:0},58:{data:{params:{_target:1},key:"operatorEntityPosition"},x:7,y:1},59:{data:{params:{_vector3:0,_vector2:3,_vector1:1},key:"operatorVectorSubtract"},x:7,y:2},60:{data:{key:"constantNumber",constantValue:"32"},x:7,y:4},61:{data:{params:{_target:2},key:"connector"},x:7,y:5},62:{data:{params:{_target:2},key:"connector"},x:7,y:6},63:{data:{params:{_number2:3,_vector1:2},key:"operatorVectorMultiply"},x:7,y:7},64:{data:{params:{_vector2:3,_vector1:4},key:"operatorVectorProject"},x:7,y:8},65:{data:{params:{_target:3},key:"connector"},x:8,y:2},66:{data:{params:{_target:1},key:"connector"},x:8,y:3},67:{data:{params:{_target:1},key:"connector"},x:8,y:4},68:{data:{params:{_target:1},key:"connector"},x:8,y:5},69:{data:{params:{_target:1},key:"connector"},x:8,y:6},70:{data:{params:{_target:1},key:"connector"},x:8,y:7},71:{data:{params:{_target:1},key:"connector"},x:8,y:8}],uuidLeast:-7530971316087269198L}
Basically, the spell is supposed to place blocks very far away. When crouching, it places blocks in one axis until it reaches you. However, when placing blocks upwards (like building a tower) it will go into your head.

EDIT: can I not add tags to mark this enhancement or something? or is that only for Vazkii?

commented

This comment doesn't have anything to do with the issue (I support this one, by the way - creative CAD should be able to execute any valid code without limitations), rather with the example spell itself. I hope it's okay.
Looking through you code, and it seems a bit strange to me. I assume that that "very far away" is below 32 blocks, because that's the maximum distance from the caster for placing blocks or making raycasts while using normal spell bullet. If you want to increase that radius, consider using Projectile bullet and raycasting from [Focal Point] position by [Caster]'s look vector.
Also, lots of these pieces look redundant (like the bit for sneaking that could be reduced from ((S-1))*(-1) to (1-S)). If you are still pondering about how to make this spell (4 months later :P), could you please explain what this spell is supposed to be doing more clearly? Perphaps that task could be accomplished without creative CAD at all.