Mojira Archive
MCM-894

Defining an execute location breaks the "detect" argument

Partner Rank: 2 (unless it turns out to be vitally important we update Frozen to Manifest 2, in which case it's a priority 1)

Partner Team Reporting: Noxcrew

Verification builds and Platforms: Minecraft - Release_3381509 Minecraft.Windows_1.13.35.0_x64_UAP.Release_Test

Summary:

The execute command allows you to define an executing location. For example:

/execute @p X Y Z detect x1 y1 z1 redstone_block 0 function test

would cause ** the function "test" to be executed from the coordinate "X Y Z", given the block at "x1 y1 z1" is a redstone_block. This is a method we use frequently to reduce the number of unique functions in our maps. It allows us to cause the same function to happen from different locations without having to change the detection in the function, thus making more functions. In the 1.8 behavior pack version, this worked as intended.

 

In 1.13 behavior pack version, defining the "X Y Z" above (giving it a numbered coordinate instead of "~ ~ ~") breaks the detect argument. For these examples, I've set up environments where the detect should be returning true:

These work:

/execute @p ~ ~ ~ detect 463 70 23 air 0 say hi
/execute @p ~ ~ ~ detect ~ ~ ~ air 0 say hi

This don't work:

/execute @p 463 70 23 detect 463 70 23 air 0 say hi

**All 3 of these examples should work. I did note when I was testing this just now that if I'm standing at the coordinates listed in the command, it appears to return successfully. If I fly away from the coordinates even a little bit, it starts to fail. In practical application, I'm not executing from the player, but from the custom entity "noxcrew:counter" in our maps (we just use this to store scores and tags, and then execute things off it). As the counter is never at the coordinates I need it to execute from, it is broken in all practical instances.

Impact:

We cannot update the Frozen map to Manifest version 2, as it requires min engine version of 1.13 to be accepted by the validator. We are happy to continue to submit in the old version if allowed, but will need this bug addressed for future content, as it's something we use pretty much all the time.

Repro Steps:

  1. Load a new creative world
  2. Find a block location (X Y Z) you know is air
  3. /execute @p X Y Z detect X Y Z air 0 say hi
  4. /execute @p ~ ~ ~ detect X Y Z air 0 say hi
  5. Fly around and continue to run these two commands. They should both always succeed.

Observed Results:

The command in step 3 above does not always succeed.

Expected Results:
Both commands should always succeed under this test.

 

Screenshots/Videos attached:

None relevant, but we can provide additional steps for where to see this problem in 1.13 min version Frozen if needed.

 

Fixed

[Noxcrew] Joe Arsenault

2019-11-26, 11:21 PM

2020-01-22, 01:30 AM

2020-01-22, 01:30 AM

2

1

Future Release

-