Mojira Archive
MCM-926

Actual Position != Execution Position

Partner Rank
2
Partner Team Reporting
Blockception
Verification builds
Windows 10 1.14.1
Summary

When custom entities execute a command from their position. that position and its actual world position are not the same. If you were to ride that entity and move while executing a /execute from that entity. then the location used for execution is not the entities' world position. The difference between those two locations is even greater then what rounding down can accomplish. Higher speeds result in higher differences.

Impact

The testing of on moving entities becomes even more inaccurate. or in some cases useless.

Repro Steps
Step 1: Make a custom entity that you can ride
Step 2: Build a function that can measure the distance between a tagged entities and all entities around it.
Step 3: Observe the results while riding. on different speeds

Suggestions: Play the map provided to @greg to skip these parts.

Screenshots / Videos attached

https://www.youtube.com/watch?v=Bhy7UWAVr0Q&feature=youtu.be

**Note about the video:

The rider joined my world as a player connecting from the outside.

His distance to the execution location is shown on the right.

The distance shown is measured in blocks * 1000 (Micro Blocks?).
The distance measured for entity: -4264902524927 is the entity that is executing the measurement. So when it says that it has a range of say 1100 that means there is a difference between the entities position and executing position of somewhere around 1100 Micro blocks. When given a speed boost, the range becomes +-2300 micro blocks.

Repro Rate
**

100% on our end, In testing this caused two major blocking issues.

Observed Results
The distance between the custom entity and its execution position increases the faster you move. this caused many problems during certification as if the feature we build were failing.

In testing situations, the difference was between 1 - 2 Blocks. In the map, we have found differences between 5 - 10 blocks.

When using a speed boost of strength 3, differences of 2 to 3 blocks where measured.

Expected Results

There is some error to be expected from when the execution position and world position of the entity, (Floating point or rounding down to integer) but those errors don't supply an error of 2 to 3 blocks.

Regression Builds
1.12
Notes
The map provided to Greg distance is measured in blocks * 1000. (Micro BLocks)
The measurement is taken from the entity that has been tagged with the tag: Test

There are 3 clocks available that measure the distance between the tagged entity and all other entities within a range of 10 blocks. The following clocks are available:

  • A clock that measures every 0.5 blocks. Executed once every second
  • A clock that measures every 0.1 blocks. Executed once every second
  • A clock that measures every 0.01 blocks. Executed once every second

Fixed

Daan Verstraten

2020-01-30, 03:17 PM

2020-07-16, 08:53 PM

2020-06-24, 10:42 PM

0

1

Future Release

-