Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Break Block Sequence always breaking Max blocks even when vector is shorter than max. #672

Closed
MindCaged opened this issue Mar 8, 2021 · 1 comment

Comments

@MindCaged
Copy link

MindCaged commented Mar 8, 2021

Minecraft 1.16.4
Psi 1.16-91

Okay, I've been trying to fix a spell, and I noticed that even when I'm providing a vector of <2,0,0> with a max block limit of 8 blocks, it's breaking the whole 8 blocks.

Here's a test spell. It's uses vector construct to create a length 2 vector and yet Break Block Sequence is breaking 8 blocks. Is this intended behavior that it always breaks the Max length amount?

{modsRequired:[{modVersion:"1.16-91",modName:"psi"}],spellName:"Break Block Sequence",uuidMost:-6016450243426630270L,validSpell:1b,spellList:[{data:{key:"psi:constant_number",constantValue:"2"},x:3,y:2},{data:{params:{_x:3,_y:0,_z:0},key:"psi:operator_vector_construct"},x:4,y:2},{data:{key:"psi:constant_number",constantValue:"8"},x:5,y:1},{data:{params:{_max:1,_target:3,_position:4},key:"psi:trick_break_in_sequence"},x:5,y:2},{data:{params:{_target:4},key:"psi:operator_entity_position"},x:6,y:1},{data:{params:{_ray:4,_max:0,_position:1},key:"psi:operator_vector_raycast"},x:6,y:2},{data:{key:"psi:selector_caster"},x:7,y:1},{data:{params:{_target:1},key:"psi:operator_entity_look"},x:7,y:2}],uuidLeast:-5037783857343383196L}

Edit: Okay, looking at the code it looks like in v1.16-85 there's a line saying:

  • Fixed new sequence tricks not handling 0 blocks properly (Kamefrede)

This appears to mean they rewrote sequence tricks to use Target /only/ for direction dropping the distance element and use Max to specify length, which breaks backwards compatibility.

Suggestions:

  1. Restore the original behavior so old spells still work.
    or
  2. Add a warning whenever importing a spell from an older version that warns you that the behavior of Sequence tricks has changed and the spell may be broken(probably is unless you were trying to break/place/conjure/etc a fixed number of blocks)
    2b. Rename the arguments from Position, Target, Max to Position, Direction, Length/Blocks/etc.

If we're keeping the new behavior it'll be necessary to use a Constant Wrapper to specify the number of blocks to operate on.
To be fair I see certain advantages with specifying the length with a number instead of using vector normalize/multiply/sum/etc to manipulate the distance.

@Kamefrede Kamefrede pinned this issue Mar 19, 2021
@Kamefrede
Copy link
Contributor

A warning will be added once I push out a release :)
Pinning this just in case

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants