Stargate Rewritten

Stargate Rewritten

241 Downloads

All signs look terrible.

Pheotis opened this issue ยท 3 comments

commented

Bug Description

With any colour and with any material, signs are illegible.

Reproduction Steps

  1. Make any sign.
  2. Try to read it.
  3. Dye it.
  4. 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:
image

Purple dye:
2023-12-31_21 42 22

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.

commented

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?

commented

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
commented

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.