The bug
In the creative inventory, every block that is available in 16 colors is ordered as "White, Orange, Magenta ... Green, Red, Black." However, the dye items are listed as "Black, Red, Green ... Magenta, Orange, White." This is because the initialization of the dyes in the Item
class is reversed.
Linked issues
Attachments
Comments 32
Confirmed for 18w50a as well; the ink sac, lapis lazuli, bone meal and cocoa beans also should probably be moved out of the list of dyes (since they aren’t dyes anymore)
Although the dyes are sorted between cocoa beans, lapis and ink sacs on the left, and bone meal on the right, the dyes themselves are now in the correct order in 1.16.2-pre2.
Historical note: this has always been the case that the dyes are in the opposite order because they actually are reversed (at least before the flattening they were). They started with black (data value 0) and end with white (data value 15), while all other "16 color" things start with white and end with black. That inconsistency in programming was also the reason dog collars changed from red to orange back in...1.8 snapshots I think it was? Someone made a programming change to dogs and used the wrong color scale. It was eventually switched back to red. But for a few months of snapshots after the collars changed using a dye on the collar would result in the wrong color based on using the "black to white" scale that dyes use rather than the "white to black" scale everything else uses.
Thank god for The Flattening actually making each thing have it's own separate block id or item id.
Confirmed for 1.13.2-pre1.