-
Bug
-
Resolution: Fixed
-
Minecraft 1.4.2, Minecraft 14w26c, Minecraft 14w27b, Minecraft 14w28b, Minecraft 1.8, Minecraft 1.8.1, Minecraft 1.8.3, Minecraft 1.8.4, Minecraft 1.8.7, Minecraft 1.9 Pre-Release 3, Minecraft 1.9 Pre-Release 4, Minecraft 1.9, Minecraft 1.9.1, Minecraft 1.9.2, Minecraft 16w15b, Minecraft 1.9.3 Pre-Release 1, Minecraft 1.9.4, Minecraft 16w20a, Minecraft 16w21a, Minecraft 16w21b, Minecraft 1.10 Pre-Release 1, Minecraft 1.10 Pre-Release 2, Minecraft 1.10, Minecraft 1.10.2, Minecraft 16w32a, Minecraft 16w33a, Minecraft 1.11.2, Minecraft 1.12.2, Minecraft 1.13-pre3, Minecraft 1.13-pre4, Minecraft 1.13-pre5, Minecraft 1.13-pre6, Minecraft 1.13-pre7, Minecraft 1.13-pre8, Minecraft 1.13-pre9, Minecraft 1.13-pre10, Minecraft 1.13, Minecraft 18w30a, Minecraft 18w30b, Minecraft 18w31a, Minecraft 18w32a, Minecraft 18w33a, Minecraft 1.13.1-pre1, Minecraft 1.13.1-pre2, Minecraft 1.13.1, Minecraft 1.13.2, Minecraft 18w48a, Minecraft 18w48b, Minecraft 18w49a, Minecraft 18w50a, Minecraft 19w02a, Minecraft 19w03c, Minecraft 19w04a, Minecraft 1.14 Pre-Release 1, Minecraft 1.14, Minecraft 1.14.1 Pre-Release 1, Minecraft 1.14.2 Pre-Release 1, Minecraft 1.14.2 Pre-Release 2, Minecraft 1.14.2 Pre-Release 3, Minecraft 1.14.2 Pre-Release 4, Minecraft 1.14.2, Minecraft 1.14.3 Pre-Release 1, Minecraft 1.14.3 Pre-Release 3, 1.14.4, 19w39a
-
Processor: 2.4 GHz Intel Core i5
Graphics: Intel HD Graphics 3000 512 MB
Java SE 6 64-Bit Version: 1.6.0_33-b03-424
Java SE Runtime Environment 7u80
Java SE Development Kit 7u80
Java SE Runtime Environment 8u181
Java SE Development Kit 8u181
Mojang-included Java
OS X Mountain Lion
OS X Mavericks
OS X Yosemite
OS X El Capitan
macOS Sierra
macOS High Sierra
macOS MojaveProcessor: 2.4 GHz Intel Core i5 Graphics: Intel HD Graphics 3000 512 MB Java SE 6 64-Bit Version: 1.6.0_33-b03-424 Java SE Runtime Environment 7u80 Java SE Development Kit 7u80 Java SE Runtime Environment 8u181 Java SE Development Kit 8u181 Mojang-included Java OS X Mountain Lion OS X Mavericks OS X Yosemite OS X El Capitan macOS Sierra macOS High Sierra macOS Mojave
-
Confirmed
-
Rendering
Bug Description
While viewing a sign with coloured text, you are unable to see the text colour from the front of the sign on macOS / OS X. This effects every Minecraft version to date (with coloured sign text of course), regardless of macOS version, Java version, or graphics driver version. This bug seems to only effect older mac processors. This bug does not effect Minecraft running on Windows or any version of Linux (that I know of).
Bug Example
Simply spawn in a sign with coloured text on macOS / OS X and observe the colour of the text while viewing the front of the sign straight-on and from a sharp angle.
Bug Cause
This bug is caused by incorrectly defining the surface normal vector of the front of the sign while rendering the text on a sign. This causes the surface "face" to be defined as the back of the sign, rather than the front (where the text is visible). The OpenGL implementation on Windows and Linux appears to have a relaxed policy for applying colour to the surface, while the OpenGL implemenation on macOS has a stricter policy for applying the colour. It appears that OpenGL on macOS does not apply the colour if the surface is not "visible", which is why the colour is only applied on sharp angles to the sign, where part of the surface would be visible.
Bug Fix
This bug can easily be fixed by properly defining the surface normal while rendering the text on the sign. This change does not break rendering behaviour on Windows and Linux (tested on Windows 10 and Arch Linux), while fixing the text rendering on macOS (tested on OS X Mountain Lion, OS X Mavericks, OS X Yosemite, OS X El Capitan, macOS Sierra, macOS High Sierra, and a beta of macOS Mojave).
How to Fix - MCP Mappings
Minecraft 1.12.2
- Navigate to:Â net.minecraft.client.renderer.tileentity.TileEntitySignRenderer
- Find line 76: GlStateManager.glNormal3f(0.0F, 0.0F, -0.010416667F);
- Change line 76 to: GlStateManager.glNormal3f(0.0F, 0.0F, 0.010416667F);
How to Fix - Obfuscated Game
Minecraft 1.13.1 (Same obfuscation as Minecraft 1.13.1-pre2)
- Navigate to:Â cwg
- Find line 43: ctz.a(0.0F, 0.0F, -0.010416667F);
- Change line 43 to: ctz.a(0.0F, 0.0F, -0.010416667F);
Minecraft 1.13.1-pre2 (Same obfuscation as Minecraft 1.13.1-pre1)
- Navigate to:Â cwg
- Find line 43: ctz.a(0.0F, 0.0F, -0.010416667F);
- Change line 43 to: ctz.a(0.0F, 0.0F, 0.010416667F);
Minecraft 1.13.1-pre1
- Navigate to:Â cwg
- Find line 67: ctz.a((float)0.0f, (float)0.0f, (float)-0.010416667f);
- Change line 67 to: ctz.a((float)0.0f, (float)0.0f, (float)0.010416667f);
Minecraft 18w33a
- Navigate to:Â cwf
- Find line 67: cty.a((float)0.0f, (float)0.0f, (float)-0.010416667f);
- Change line 67 to: cty.a((float)0.0f, (float)0.0f, (float)0.010416667f);
Minecraft 18w32a (Same obfuscation as Minecraft 18w31a)
- Navigate to:Â cwe
- Find line 67: ctx.a(0.0F, 0.0F, -0.010416667F);
- Change line 67 to: ctx.a(0.0F, 0.0F, 0.010416667F);
Minecraft 18w31a
- Navigate to:Â cwe
- Find line 64: ctx.a(0.0F, 0.0F, -0.010416667F);
- Change line 64 to: ctx.a(0.0F, 0.0F, 0.010416667F);
Minecraft 18w30b
- Navigate to:Â cvz
- Find line 64: cts.a(0.0F, 0.0F, -0.010416667F);
- Change line 64 to: cts.a(0.0F, 0.0F, 0.010416667F);
Minecraft 18w30a
- Navigate to:Â cvy
- Find line 64: ctr.a(0.0F, 0.0F, -0.010416667F);
- Change line 64 to: ctr.a(0.0F, 0.0F, 0.010416667F);
Minecraft 1.13
- Navigate to:Â cvw
- Find line 64: ctp.a(0.0F, 0.0F, -0.010416667F);
- Change line 64 to: ctp.a(0.0F, 0.0F, 0.010416667F);
Minecraft 1.13-pre10
- Navigate to:Â cvu
- Find line 64: ctn.a(0.0F, 0.0F, -0.010416667F);
- Change line 64 to: ctn.a(0.0F, 0.0F, 0.010416667F);
Minecraft 1.13-pre10
- Navigate to:Â cvu
- Find line 64: ctn.a(0.0F, 0.0F, -0.010416667F);
- Change line 64 to: ctn.a(0.0F, 0.0F, 0.010416667F);
Minecraft 1.13-pre9 (Same obfuscation as Minecraft 1.13-pre8)
- Navigate to:Â cvs
- Find line 64: ctl.a(0.0F, 0.0F, -0.010416667F);
- Change line 64 to: ctl.a(0.0F, 0.0F, 0.010416667F);
Minecraft 1.13-pre8
- Navigate to:Â cvs
- Find line 64: ctl.a(0.0F, 0.0F, -0.010416667F);
- Change line 64 to: ctl.a(0.0F, 0.0F, 0.010416667F);
Minecraft 1.13-pre7
- Navigate to:Â cvi
- Find line 64: ctb.a(0.0F, 0.0F, -0.010416667F);
- Change line 64 to: ctb.a(0.0F, 0.0F, 0.010416667F);
Minecraft 1.13-pre6
- Navigate to:Â cva
- Find line 64: cst.a(0.0F, 0.0F, -0.010416667F);
- Change line 64 to: cst.a(0.0F, 0.0F, 0.010416667F);
Minecraft 1.12.2 (Same obfuscation as Minecraft 1.12.1)
- Navigate to:Â bxf
- Find line 75: bus.a(0.0F, 0.0F, -0.010416667F);
- Change line 75 to: bus.a(0.0F, 0.0F, 0.010416667F);
Minecraft 1.12.1
- Navigate to:Â bxf
- Find line 75: bus.a(0.0F, 0.0F, -0.010416667F);
- Change line 75 to: bus.a(0.0F, 0.0F, 0.010416667F);
Minecraft 1.12
- Navigate to:Â bxd
- Find line 75: buq.a(0.0F, 0.0F, -0.010416667F);
- Change line 75 to: buq.a(0.0F, 0.0F, 0.010416667F);
Minecraft 1.11.2 (Same obfuscation as Minecraft 1.11.1)
- Navigate to:Â bss
- Find line 75: bqg.a(0.0F, 0.0F, -0.010416667F);
- Change line 75 to: bqg.a(0.0F, 0.0F, 0.010416667F);
Minecraft 1.11.1
- Navigate to:Â bss
- Find line 75: bqg.a(0.0F, 0.0F, -0.010416667F);
- Change line 75 to: bqg.a(0.0F, 0.0F, 0.010416667F);
Minecraft 1.11
- Navigate to:Â bsq
- Find line 75: bqe.a(0.0F, 0.0F, -0.010416667F);
- Change line 75 to: bqe.a(0.0F, 0.0F, 0.010416667F);
Minecraft 1.10.2 (Same obfuscation as Minecraft 1.10.1)
- Navigate to:Â bqm
- Find line 75: bob.a(0.0F, 0.0F, -0.010416667F);
- Change line 75 to: bob.a(0.0F, 0.0F, 0.010416667F);
Minecraft 1.10.1 (Same obfuscation as Minecraft 1.10)
- Navigate to:Â bqm
- Find line 75: bob.a(0.0F, 0.0F, -0.010416667F);
- Change line 75 to: bob.a(0.0F, 0.0F, 0.010416667F);
Minecraft 1.10
- Navigate to:Â bqm
- Find line 75: bob.a(0.0F, 0.0F, -0.010416667F);
- Change line 75 to: bob.a(0.0F, 0.0F, 0.010416667F);
Minecraft 1.9.4 (Same obfuscation as Minecraft 1.9.3)
- Navigate to:Â bpq
- Find line 75: bnf.a(0.0F, 0.0F, -1.0F * ☃);
- Change line 75 to: bnf.a(0.0F, 0.0F, ☃);
Minecraft 1.9.3 (Same obfuscation as Minecraft 1.9.2)
- Navigate to:Â bpq
- Find line 75: bnf.a(0.0F, 0.0F, -1.0F * ☃);
- Change line 75 to: bnf.a(0.0F, 0.0F, ☃);
Minecraft 1.9.2 (Same obfuscation as Minecraft 1.9.1)
- Navigate to:Â bpq
- Find line 75: bnf.a(0.0F, 0.0F, -1.0F * ☃);
- Change line 75 to: bnf.a(0.0F, 0.0F, ☃);
Minecraft 1.9.1
- Navigate to:Â bpq
- Find line 75: bnf.a(0.0F, 0.0F, -1.0F * ☃);
- Change line 75 to: bnf.a(0.0F, 0.0F, ☃);
Minecraft 1.9
- Navigate to:Â bpt
- Find line 75: bni.a(0.0F, 0.0F, -1.0F * ☃);
- Change line 75 to: bni.a(0.0F, 0.0F, ☃);
Minecraft 1.8.9
- Navigate to:Â bhj
- Find line 77: GL11.glNormal3f(0.0F, 0.0F, -1.0F * ☃);
- Change line 77 to: GL11.glNormal3f(0.0F, 0.0F, ☃);
Minecraft 1.8
- Navigate to:Â cnv
- Find line 77: GL11.glNormal3f(0.0F, 0.0F, -1.0F * f3);
- Change line 77 to: GL11.glNormal3f(0.0F, 0.0F, f3);
Minecraft 1.7.10
- Navigate to:Â bmr
- Find line 54: GL11.glNormal3f(0.0F, 0.0F, -1.0F * f3);
- Change line 54 to: GL11.glNormal3f(0.0F, 0.0F, f3);
Minecraft 1.6.4
- Navigate to:Â bja
- Find line 53: GL11.glNormal3f(0.0F, 0.0F, -1.0F * f3);
- Change line 53 to: GL11.glNormal3f(0.0F, 0.0F, f3);
Minecraft 1.5.2
- Navigate to:Â bja
- Find line 50: GL11.glNormal3f(0.0F, 0.0F, -1.0F * f3);
- Change line 50 to: GL11.glNormal3f(0.0F, 0.0F, f3);
Minecraft 1.4.7
- Navigate to:Â bdt
- Find line 50: GL11.glNormal3f(0.0F, 0.0F, -1.0F * f3);
- Change line 50 to: GL11.glNormal3f(0.0F, 0.0F, f3);
Minecraft 1.3.2
- Navigate to:Â axq
- Find line 50: GL11.glNormal3f(0.0F, 0.0F, -1.0F * f3);
- Change line 50 to: GL11.glNormal3f(0.0F, 0.0F, f3);
Minecraft 1.2.5
- Navigate to:Â ll
- Find line 51: GL11.glNormal3f(0.0F, 0.0F, -1.0F * f3);
- Change line 51 to: GL11.glNormal3f(0.0F, 0.0F, f3);
Minecraft 1.1
- Navigate to:Â ku
- Find line 51: GL11.glNormal3f(0.0F, 0.0F, -1.0F * f3);
- Change line 51 to: GL11.glNormal3f(0.0F, 0.0F, f3);
Minecraft 1.0
- Navigate to:Â aeu
- Find line 51: GL11.glNormal3f(0.0F, 0.0F, -1.0F * f3);
- Change line 51 to: GL11.glNormal3f(0.0F, 0.0F, f3);
Notice the sign of the z-coordinate of the normal vector. This change will correctly define the surface normal to be the front of the sign, fixing coloured signs on macOS.
- is duplicated by
-
MC-8710 Sign Bug
- Resolved
-
MC-12135 Signs only coloured at extreme viewing angles.
- Resolved
-
MC-21319 [Servers] While on a Mac, if there is a sign with colored text in it, you are only able to see the color at an angle.
- Resolved
-
MC-25081 Graphics Glitch
- Resolved
-
MC-27073 Sign colours can't be seen
- Resolved
-
MC-30564 Sign colors
- Resolved
-
MC-31191 When I am in a Minecraft server, colors do not show up on signs. they are there for a moment, but then disappear.
- Resolved
-
MC-42520 I cannot see colored signs in Minecraft (Mac)
- Resolved
-
MC-45620 Random signs are displayed too dark
- Resolved
-
MC-60270 Coloured Signs Not Rendering Properly On Mac
- Resolved
-
MC-72174 I Cant See Colour On Signs!!!
- Resolved
-
MC-76261 SMP Sign Colors
- Resolved
-
MC-80146 OSX: Cannot see colored signs from front angle. Side view only.
- Resolved
-
MC-81474 Sign Color Broken for Mac OSX Yosemite 10.10.3
- Resolved
-
MC-104 Color of text on signs only appears at certain extreme angles, but not while directly looking at it.
- Resolved
- relates to
-
MC-95044 Graphics Card and Sign Colors
- Resolved
-
MC-33304 Sign Colors Fading (NOT vanishing!) when facing north or south
- Closed