mojira.dev
MC-108802

Commands which act based on block grid use decimal numbers instead of integers

The bug

Based on MC-105820 commands which modify blocks or get data from them use the block grid instead of the position of the command executor. This causes values from 0 up to 1 (exclusive) to select the block the command executer is in, while -1 to 0 (exclusive) selects the block in the negative direction. This behavior was stated as WAI by @unknown. The problem is that as these commands allow decimal values you would expect them to be based on the position of the command executor.

To make it clearer that this is not how it works, it might be more intuitive to allow only integers as coordinates (relative as well).

Affected commands

  • /fill

  • /setblock

  • /blockdata

  • /testforblock

  • /testforblocks

  • /stats block

  • /replaceitem block

Linked issues

Comments 3

geoffrey

Commands which act based on block grid use decimal can proven to be useful
e.g.
execute @a ~ ~ ~ detect ~0.3 ~-0.01 ~ air 0
execute @a ~ ~ ~ detect ~-0.3 ~-0.01 ~ air 0
execute @a ~ ~ ~ detect ~ ~-0.01 ~0.3 air 0
execute @a ~ ~ ~ detect ~ ~-0.01 ~-0.3 air 0
can detect if player is falling (if all returns true)

changing it to integer would make this type of command ineffective in many circumstances.
i won't recommend changing it.

p.s. OnGround:0b tag would not work,since it updates every second.

user-f2760

Now intended, as of 17w45a.

user-f2760

correction, according to dinnerbone in the commands discord, it should work with relative decimals.

marcono1234

Nathan Adams

Confirmed

block-grid, command, decimal, integer

Minecraft 16w41a

Retrieved