Как работает ночное зрение

Версия Minecraft
1.12
5,018
47
783
Здравствуйте! Возникло некоторое желание разузнать, где и как ярко освещается картинка при ночном зрении, как работает "плавающий" экран при отравлении. Где эти классы? Хотелось бы посмотреть пример в ванили, но никак не могу их найти
Насколько знаю, это шейдеры. Если это так, у меня еще пара вопросов - ну вот сделал я эффект, как мне при наступании этого эффекта включать шейдер?(готовые есть)

Даже вот например отравление. Где тут вообще про шейдер написано что то? Из класса Potion
Код:
        else if (this == MobEffects.POISON)
        {
            if (entityLivingBaseIn.getHealth() > 1.0F)
            {
                entityLivingBaseIn.attackEntityFrom(DamageSource.MAGIC, 1.0F);
            }
        }
 
1,111
47
420
Задолбали вы уже со своими шейдерами! Прям вот реально надоело. В каждую дырку суете.
По делу: нет, ничего подобного. Нет никаких классов, никаких шейдеров и прочего такого. Просто при отрисовке экрана проверяется наличие того или иного ивента и в зависимости от имеющихся, может произойти следующие:
- Изменение Projection matrix чтоб придать эффект тошноты
- glFogi в случае слепоты
- и т д

Никаким полиморфизмом тут и не пахнет. Вот так вот.
 
5,018
47
783
JustAGod написал(а):
Задолбали вы уже со своими шейдерами! Прям вот реально надоело. В каждую дырку суете.
По делу: нет, ничего подобного. Нет никаких классов, никаких шейдеров и прочего такого. Просто при отрисовке экрана проверяется наличие того или иного ивента и в зависимости от имеющихся, может произойти следующие:
- Изменение Projection matrix чтоб придать эффект тошноты
- glFogi в случае слепоты
- и т д

Никаким полиморфизмом тут и не пахнет. Вот так вот.

Где это все происходит, главный вопрос, а не как. Где эти эвенты?. Читай внимательнее.
 
1,111
47
420
Maxik001 написал(а):
JustAGod написал(а):
Задолбали вы уже со своими шейдерами! Прям вот реально надоело. В каждую дырку суете.
По делу: нет, ничего подобного. Нет никаких классов, никаких шейдеров и прочего такого. Просто при отрисовке экрана проверяется наличие того или иного ивента и в зависимости от имеющихся, может произойти следующие:
- Изменение Projection matrix чтоб придать эффект тошноты
- glFogi в случае слепоты
- и т д

Никаким полиморфизмом тут и не пахнет. Вот так вот.

Где это все происходит, главный вопрос, а не как. Где эти эвенты?. Читай внимательнее.

Не знаю как у вас там на верху, а у нас в 1.7.10 это происходит в net.minecraft.client.renderer.EntityRenderer


Вообще можешь просто поискать использования объявленых зелий.
 
5,018
47
783
WhiteWarrior написал(а):
[img=698x400]http://i12.pixs.ru/storage/2/7/7/2017111123_9622635_28276277.png[/img]
что-то типа такого?

Да. Я уже что то нашел в энтитирендерер. Можно туда хук засунуть, но ведь наверно для этих дел эвент специальный есть?
...
Это твое?
 
Сверху