All signs look terrible.
Pheotis opened this issue ยท 3 comments
Bug Description
With any colour and with any material, signs are illegible.
Reproduction Steps
- Make any sign.
- Try to read it.
- Dye it.
- Try to read it again.
Desired Behaviour
The signs should always be legible, and should reflect the user's colour choice somehow.
Observed Behaviour
The signs look terrible.
Default:
Trace Logs
N/A
Other Information
The sign correction algorythm is clearly flawed. Users should be able to disable it.
- When disabled:
- Dye colours should show their unmodified colour regardless of sign material
- Specified hex values should show their unmodified colour regardless of sign material
- Highlights should be the opposite colour (as in Unified Legacy),
Notwithstanding the above opt-out, this algorythm also needs to be fixed.
Temporary Fix For Alpha
It would appear that 1.20 added something with colours that makes bright colours look less terrible.
As such, if 1.19 or below, use the dye translation table (Attached).
If it is 1.20 or above, use this:
Dyecolour | Universal Colour (use regardless of sign material) | Highlight Colour |
---|---|---|
BROWN | cfbc9d | ce5204 |
CYAN | 8edac0 | 00a0a4 |
BLUE | 8e9ada | 0022a4 |
LIGHT_BLUE | 8ec0da | 007aa4 |
GREEN | 6dec55 | 00ec03 |
LIME | b9ffb0 | a6ff00 |
YELLOW | faf584 | bcd000 |
ORANGE | ffca88 | d03a00 |
MAGENTA | e077fa | 7b00a7 |
PURPLE | b395fd | 3000a7 |
PINK | fd96c0 | a70084 |
RED | ea6464 | a70000 |
GRAY | aeaeae | 000000 |
LIGHT_GRAY | e6e6e6 | 575757 |
BLACK | 000000 for bamboo, cherry, birch; ffffff for everything else. | ffffff for bamboo, cherry, birch; 000000 for everything else. |
WHITE | ffffff | 7a7a7a |
Long-term Fix For Beta
Probably something involving 3d space and hsl vectors.
When the sign has been dyed, it should reflect the users choice. We should not go with having white color when the user has colored it black and so on. Doing that becomes extremely unintuitive, and is unnecessary. As you can actually dye the sign a different color, if it's hard to see the text. This is what the Minecraft developers already have thought about, this is already a behavior which a large scale company already has agreed upon.
The proposed dye translation table for <1.19.x only limits the possible colors a user can chose, I have no idea about the other one. But is this really necessary for dye colored signs?
For the default coloring, this does have a point, as the default option should be legible. For this, yes we could use a better algorithm, but does this necessarily need to be within the scope of an alpha release?
Proposed dye translation table for versions <1.19.X
OAK_SIGN | WARPED_SIGN | BIRCH_SIGN | JUNGLE_SIGN | ACACIA_SIGN | DARK_OAK_SIGN | MANGROVE_SIGN | CHERRY_SIGN | BAMBOO_SIGN | CRIMSON_SIGN | |
---|---|---|---|---|---|---|---|---|---|---|
BROWN | BROWN | YELLOW | BROWN | YELLOW | YELLOW | YELLOW | YELLOW | BROWN | BROWN | YELLOW |
CYAN | BLUE | CYAN | BLUE | BLUE | CYAN | CYAN | CYAN | BLUE | BLUE | CYAN |
BLUE | BLUE | BLUE | BLUE | BLUE | BLUE | LIGHT_BLUE | LIGHT_BLUE | BLUE | BLUE | LIGHT_BLUE |
LIGHT_BLUE | BLUE | LIGHT_BLUE | BLUE | BLUE | BLUE | LIGHT_BLUE | LIGHT_BLUE | BLUE | BLUE | LIGHT_BLUE |
GREEN | GREEN | GREEN | GREEN | GREEN | GREEN | GREEN | GREEN | GREEN | GREEN | GREEN |
LIME | LIME | LIME | GREEN | LIME | LIME | LIME | LIME | GREEN | GREEN | LIME |
YELLOW | YELLOW | YELLOW | ORANGE | YELLOW | YELLOW | YELLOW | YELLOW | ORANGE | ORANGE | YELLOW |
ORANGE | ORANGE | YELLOW | ORANGE | YELLOW | YELLOW | ORANGE | YELLOW | ORANGE | ORANGE | YELLOW |
MAGENTA | MAGENTA | MAGENTA | MAGENTA | MAGENTA | PURPLE | MAGENTA | MAGENTA | MAGENTA | MAGENTA | MAGENTA |
PURPLE | PURPLE | MAGENTA | PURPLE | PURPLE | PURPLE | MAGENTA | MAGENTA | PURPLE | PURPLE | MAGENTA |
PINK | RED | PINK | PINK | RED | RED | PINK | PINK | PINK | PINK | PINK |
RED | RED | RED | RED | RED | RED | PINK | PINK | RED | RED | PINK |
GRAY | GRAY | LIGHT_GRAY | GRAY | LIGHT_GRAY | LIGHT_GRAY | LIGHT_GRAY | LIGHT_GRAY | GRAY | GRAY | LIGHT_GRAY |
LIGHT_GRAY | LIGHT_GRAY | LIGHT_GRAY | GRAY | LIGHT_GRAY | LIGHT_GRAY | LIGHT_GRAY | LIGHT_GRAY | GRAY | GRAY | LIGHT_GRAY |
BLACK | BLACK | WHITE | BLACK | BLACK | BLACK | WHITE | WHITE | BLACK | BLACK | WHITE |
WHITE | BLACK | WHITE | BLACK | BLACK | WHITE | WHITE | WHITE | BLACK | BLACK | WHITE |
There was a bit of a miscommunication here, this was only about the default coloring, and has nothing to do regarding dye colored signs. But it say that we only allow take the color enum DyeColor as input.
The above commit also allows for other colors, but has exceptions to the behavior for the whenever a the default color is specified as one of the DyeColor names.