Let's say you want to summon a sheep that glows. You'd probably go for /summon minecraft:sheep ~ ~ ~ {Glowing:1b}
. And hey-ho, it works as expected. Glowing sheep.
Then to screw around some more and find out about data types, you try for {Glowing:2b}
. The sheep still glows, so like other languages booleans actually work more like 0
and not 0
. So for further screwing around—ahem, 'testing'—you change 2b
to 2
. No change. So the game works with straight integers when it's expecting bytes. What if we exceed the range of a byte?
{Glowing:127}
, glowing sheep. {Glowing:128}
... still a glowing sheep? The number doesn't end up wrapping around to 0 until 256
. Forcing it into a byte, it wraps to 0 at 128b
and -129b
. Further testing with coloured sheep confirms the unmarked number is unsigned.
The page on this on the Official Minecraft Wiki doesn't show any unsigned data types. Does anyone have some insight?