FontRenderer#drawString() отказывается рисовать белую строку

Версия Minecraft
1.7.10
1,159
38
544
FontRenderer рисует строки любого цвета, кроме белого. Я наваял такой утилитный метод, который рисует строку без тени:
Java:
public static void drawCenteredStringWithoutShadow(FontRenderer fontRenderer, String str, int x, int y, int color){
    fontRenderer.drawString(str, x - fontRenderer.getStringWidth(str) / 2, y, color, false);
}

Просто до безобразия. Но при попытке отрисовать цвет 0xFFFFFF я получаю едва различимый оттенок серого:
2019-04-16_17-48-11.png

Такой подставы не ожидал. В чем может быть дело?
 
1,159
38
544
Я ааабсолютно хз что именно я сделал, но перед рендером я добавил это:
Java:
public static void drawCenteredStringWithoutShadow(FontRenderer fontRenderer, String str, int x, int y, int color){
    GL11.glDisable(GL11.GL_LIGHTING);
    fontRenderer.drawString(str, x - fontRenderer.getStringWidth(str) / 2, y, color, false);
}

Стало норм, но я не могу сказать что это хорошее решение, т.к. банально не понимаю что я сделал. Повелители OpenGL'а, пожалуйста объясните.
 
4,045
63
645
Скорее всего строка сама по себе рисуется нормально, но майн что-то делает с цветовой матрицей перед рендером... От того и эффект.
Ты просто вырубил все изменения...
Возможно майн перед отрисовкой твоей строки, например, затемнял задний фон.
...
Или это была тень от чего-то ) Например, ты стоял под деревом )))
 
2,505
81
397
Это не хорошее решение из-за того, что GL11.glDisable(GL11.GL_LIGHTING); лежит внутри метода drawCenteredStringWithoutShadow.
А так все зависит от того, куда ты хукнулся. И нужно смотреть на текущее состояние. Но раз это заработало, то значит майн еще не выключил источники освещения вокруг предметов или модельки игрока. Либо ты вставляешь свой код между отрисовками стаков. Ищи что-то типа enable/disableStandartItemLighting, не помню точное название.

майн что-то делает с цветовой матрицей перед рендером
Что за зверь такой?
 
1,159
38
544
Это не хорошее решение из-за того, что GL11.glDisable(GL11.GL_LIGHTING); лежит внутри метода drawCenteredStringWithoutShadow.
Ну так это мой метод. Кастомный. Что в этом плохого?

А так все зависит от того, куда ты хукнулся.
Я никуда не хукался. Просто намутил статичный метод и вызываю его в GuiScreenEvent.DrawScreenEvent

значит майн еще не выключил источники освещения вокруг предметов или модельки игрока
Неужели мне нужно все это учитывать чтобы просто нарисовать строку в гуи?
 
4,045
63
645
1,159
38
544
Короче, уважаемые форумчане. Как мне решить эту задачу красиво и не зашкварно?
 
1,159
38
544
Только не в методе своем для каждой строки, а для всех
Вот тут не понял. Как я могу вырубить свет для всех строк? И зачем? Мне то нужно только для моей строки.
 
1,159
38
544
Вырубил свет
Отрисовал строку 1
Отрисовал строку 2
Отрисовал строку 3
Врубил свет
Понял, а почему именно так? Почему не нужно врубать свет после каждой отрисовки?
 
Сверху