
Contraption Lights - Цветной динамический свет для Create и Sable
Мод Contraption Lights добавляет в Майнкрафт цветное динамическое освещение для механизмов Create и кораблей Sable. Свет движется вместе с постройками и работает в обе стороны.
Contraption Lights - мод для Майнкрафт, который решает одну из самых раздражающих проблем при игре с Create. Поставил фонарь на движущуюся платформу или корабль, а свет остался висеть в воздухе на старом месте? Знакомо. Ванильный движок просто не умеет пересчитывать освещение для движущихся структур, поэтому кабины поездов, лифты и палубы кораблей вечно тонут в темноте. Этот мод чинит ситуацию: свет едет вместе с конструкцией, куда бы она ни направлялась.
Актуальная стабильная версия - 1.4.0 для Minecraft Java 1.21.1 на NeoForge. Работает и на клиенте, и на сервере. В последнем обновлении, кстати, пофиксили неприятный баг, когда свет "зависал" в воздухе после удаления источника, плюс подправили освещение нижнего слоя Sable и затенение подуровней при игре с шейдерами.
Что вообще умеет нести свет
Список впечатляет, и тут стоит пройтись подробнее, потому что мод цепляется не только за Create:
- Механизмы Create - вагонетки, краны, лифты, подшипники. Всё, что собрано и движется, включая вращающиеся части.
- Кинетика Create - вращающиеся валы и шестерни, которые рендерятся на месте через Flywheel.
- Подуровни Sable - физические структуры вроде кораблей и динамических деревьев.
- Прочий контент на Flywheel - блоки и сущности из модов, не связанных с Create, например Vanillin. Нужен Flywheel 1.0.6+, сам Create при этом не обязателен.
- Конечности из Sable Ragdolls - забавная деталь: если игрока уронили в состояние тряпичной куклы, факел в его руке продолжает освещать сцену, пока он валяется без сил.
Отдельный плюс: светящиеся блоки, спрятанные внутри copycat-блоков Create, и предметы в рамках placard тоже считаются источниками и светят тем, что в них лежит.
Как свет путешествует между миром и постройками
Главная фишка мода - двунаправленность. Свет не просто едет с конструкцией, он ещё и взаимодействует с миром в обе стороны.
| Направление | Что происходит | Как включить |
|---|---|---|
| Постройка светит на мир | Движущаяся конструкция бросает свой свет на ландшафт, следуя за каждым поворотом подшипника и креном корабля. Маяк на подуровне бьёт лучом вдоль оси "вверх" подуровня - получается что-то вроде управляемого прожектора. | Включено по умолчанию |
| Мир светит на постройку | Факелы в руках, светящиеся мобы, выброшенные предметы, установленные факелы, светокамень и лава подсвечивают проплывающую мимо конструкцию. Направленные источники тоже работают: фонарик из другого мода или луч маяка освещает то, на что попадает. | Опции ...WorldTo... |
| Постройки светят друг на друга | Освещённый корабль подсвечивает соседний механизм или кинетику, и наоборот. | Ничего дополнительно. Раз постройка уже излучает свет, опция приёма света от мира автоматически даёт ей принимать свет и от другой постройки. |
| Постройки на постройках | Пропеллер с фонарём на подшипнике, крутящийся на движущемся корабле, освещает палубу, мир и другие структуры - и сам подсвечивается ими в ответ. Отслеживание идёт по реальной позиции отрисовки. | Автоматически, когда включены нужные опции выше |
По факту это значит: факел на берегу освещает проплывающий корабль, а корабельные фонари освещают берег. Красиво и логично.
Цветной свет
По умолчанию выключен, включается одной опцией enableColoredLight. И тогда начинается магия: обычный факел светит тёплым, soul-фонарь - синим, редстоун-факел - красным, а froglight - пастельным оттенком собственной текстуры.
Где два источника пересекаются, цвета смешиваются. Редстоун-факел рядом с soul-факелом даёт фиолетовый между ними, а цветной свет рядом с белым всё равно его оттеняет. С расстоянием цвета плавно затухают.
Цветной свет распространяется на всё, что мод и так освещает, плюс на остальной мир: блоки, сущности, блок-энтити, частицы и лаву, свет на постройках, предметы в руках, механизмы и кинетику - короче, всё, что рисует Flywheel, и всё, что светит через LambDynamicLights. Одна опция покрывает все режимы, включая VEIL.
Важный нюанс: шейдерпак делает своё освещение, поэтому цветной свет сам отключается, пока шейдеры загружены, и возвращается, когда вы их выключаете. Пока он выключен, он ничего не стоит: ни лишней памяти в террейне Sodium, ни нагрузки на освещение Flywheel. Так что связка с Iris не сломается.
Цвета берутся из дата-файлов, так что ресурспак или другой мод могут поменять любой из них или добавить свои. Подробности - в разделе про добавление цветов ниже.
Режимы работы
Клиентское освещение управляется одной настройкой mode. Серверная опция - отдельная и клиентский мод не требует.
| Режим | Что даёт | Шейдеры | Требует | Покрывает |
|---|---|---|---|---|
| LAMB (по умолчанию) | Плавный свет покадрово, дёшево, без теней. Ванильные цвета, пока не включите цветной свет - этот режим поддерживает его полностью. | Да | LambDynamicLights | Все направления выше. |
| VEIL (экспериментальный) | Чёткие угловатые тени, которые отбрасывают собственные блоки наклонённого подуровня - такого не умеет ни один другой режим. Следует той же опции enableColoredLight, что и LAMB. | Нет. Veil отключается, если установлен Iris, так что режим сам себя выключает. | Veil | Постройка светит на мир, плюс грубая версия обратного направления. Без света между постройками, без построек на постройках, без кинетики Flywheel. Для обычной игры не предназначен. |
| Серверные световые блоки | Настоящие невидимые блоки света ставятся по ходу движения постройки и убираются за ней. Каждый игрок видит свет без клиентского мода. | Да | Ничего на клиенте | Постройка светит на мир. Тяжелее, поэтому выключено по умолчанию и рассчитано на админов серверов. |
Совет из практики: если не уверены - берите LAMB и не мучайтесь. Он покрывает все сценарии, дружит с шейдерами и полностью поддерживает цветной свет. VEIL - это скорее игрушка для энтузиастов, которые хотят тени от наклонённого корабля.
Что ставить
| Мод | Что включает |
|---|---|
| LambDynamicLights | Режим LAMB. |
| Veil | Режим VEIL. |
| Create 0.6+ | Механизмы, кинетика, свет из copycat и placard. |
| Sable | Подуровни, в любом режиме. |
| Sable Ragdolls 0.7+ | Свет в руке у игрока в состоянии ragdoll. |
| Sodium 0.8.12+ | Опции ниже в настройках видео. Цветной свет работает и с Sodium, и без него. |
Типовые связки: Create + LambDynamicLights для плавного света механизмов; Sable + любой бэкенд для кораблей без Create; Create + серверная опция, чтобы осветить весь сервер разом. Играете с шейдерами Iris - используйте LAMB. Цветной свет - отдельная опция поверх любого выбранного режима.
Настройки
У всего стоят разумные значения по умолчанию. Клиентские опции живут во внутриигровом экране конфига, в файле конфигурации и в настройках видео Sodium.
Клиентские
| Опция | По умолчанию | Что делает |
|---|---|---|
mode | LAMB | Бэкенд рендера: LAMB, VEIL или OFF. Режим без нужного мода ничего не освещает и честно пишет об этом на экране; ваш выбор сохраняется, так что установите мод позже - и всё заработает само. |
luminanceMultiplier | 1.0 | Общая яркость, максимум 2.0. |
updateInterval | 0 | Миллисекунды между обновлениями света, который постройка бросает наружу. 0 - каждый тик, самое плавное; больше - дешевле. |
worldUpdateInterval | 0 | То же самое, но для света, падающего обратно на постройку. |
showStatusOverlay | вкл | Короткое сообщение в правом нижнем углу, когда что-то требует внимания (нет бэкенда, бэкенд потерялся, функция сама отключилась). Клик по крестику закрывает. Всё показанное дублируется в лог. |
enableContraptionDynamicLight | вкл | Механизм Create излучает свет, который несёт. |
enableSubLevelDynamicLight | вкл | Подуровень Sable излучает свой свет, включая луч переносимого маяка. |
enableWorldToContraptionLambLight | выкл | Свет мира падает на механизмы Create. Нужен Flywheel-бэкенд Create. |
enableWorldToSubLevelLambLight | выкл | Свет мира падает на подуровни Sable - и динамические источники, и статичные блоки. |
enableWorldToFlywheelLight | выкл | Свет мира падает на блоки и сущности, отрисованные Flywheel. Нужен Flywheel 1.0.6+, работает без Create. |
enableWorldToStructureVeilLight | выкл | Только режим VEIL: свет мира падает на механизмы и подуровни. |
enableSubLevelOcclusion | вкл | Закрытая комната внутри подуровня Sable держит свой свет внутри и не пускает внешний - в обе стороны. Нужен Sable. |
Клиентские, цветной свет
| Опция | По умолчанию | Что делает |
|---|---|---|
enableColoredLight | выкл | Каждый светящийся блок освещает мир своим цветом, пересекающиеся источники смешиваются. Сам выключается, пока загружен шейдерпак. |
colorIntensity | 1.0 | Насколько цвет уходит от белого. Ниже 1 - ближе к белому, выше 1 - глубже, 0 - все источники белые. |
colorfulCandles | вкл | Крашеные свечи светят цветом своего воска. Выкл - у всех свечей тёплое пламя. |
deriveColorFromTexture | вкл | Блоки без собственного цвета берут его из текстуры. Выкл - вместо этого тёплое факельное свечение. |
animatedLightColors | вкл | Ресурспак может задать блоку цвет, который циклично меняется со временем. Выкл - такой свет держится на среднем из своих цветов. |
Клиентские, фиксы для Iris
Подуровни Sable освещаются неправильно, когда установлен Iris. Эти опции чинят ситуацию, и применяет их встроенный мод "Contraption Lights Fixes", который идёт внутри Contraption Lights и отображается отдельной строкой в списке модов. Все три требуют Sable, Iris и Veil одновременно.
| Опция | По умолчанию | Что делает |
|---|---|---|
fixSubLevelShading | вкл | Возвращает направленное затенение граней, которое иначе выглядит плоским и слишком ярким. Следует за наклоном постройки, с шейдерпаком и без. |
fixSubLevelSkyLight | вкл | Темнеет в пещерах и под землёй вместо того, чтобы светиться, будто под открытым небом. |
fixSubLevelAmbientOcclusion | вкл | Затеняет углы и углубления так же, как шейдерпак делает это для мира, вместо вымывания и приглушения светящихся блоков. Только с загруженным шейдерпаком и только для тех пакетов, которые сами обрабатывают ambient occlusion. |
Серверные
| Опция | По умолчанию | Что делает |
|---|---|---|
enableContraptionLightBlock | выкл | Ставить настоящие блоки света по ходу движения механизма Create. |
enableSubLevelLightBlock | выкл | Ставить настоящие блоки света по ходу движения подуровня Sable. |
minLightBlockEmission | 1 | Ставить блок света только для источников не слабее указанной яркости - чтобы ставить их меньше. |
Добавление своих цветов света
Любому блоку можно задать собственный цвет света, включая блоки, о которых мод никогда не слышал. Цвета, которые идут из коробки для ванильных блоков, переопределяются точно так же. Есть три пути:
- JSON-файл в ресурспаке или внутри jar мода, с совпадением по id блока, тегу или blockstate. Зависимость от этого мода не нужна, координация тоже - мод может поставлять цвета для своих блоков, и они подхватятся, если игрок установит оба.
- Тот же файл может задать блоку цвет, меняющийся со временем, или раскрасить свет, который вообще не исходит от блока - например, фонарик, который другой мод добавляет через LambDynamicLights.
- Небольшой Java API - для цвета, который нельзя записать как функцию от blockstate: лампа с крашеной лампочкой внутри, цвет в block entity, значение с подключённого механизма.
Всё это задокументировано в вики мода, включая то, как мод угадывает цвет, когда никто его не задал, и какие настройки на это влияют.
Важно знать
Какой режим выбрать? LAMB. Он покрывает все направления света, работает с шейдерами и полностью поддерживает цветной свет. VEIL существует ради чётких угловатых теней на наклонённых подуровнях, он экспериментальный и ничего не делает, пока установлен Iris.
Нужен ли мод другим игрокам? Для LAMB и VEIL - да, каждый ставит себе. Для серверной опции со световыми блоками - только серверу, а свет видят все.
Подуровни Sable выглядят плоскими, слишком яркими, вымытыми в углах или светятся под землёй.
Это та самая поломка Iris, которую чинят встроенные фиксы выше. Проверьте, что Sable, Iris и Veil установлены вместе, а три опции fixSubLevel... включены. Затенение и небесный свет применяются сразу; ambient occlusion подтягивается по мере перестройки секций.
Цветной свет не работает.
Проверьте, что он включён - по умолчанию выключен. И что не загружен шейдерпак - цветной свет отключается на это время. Если неправильно выглядит один конкретный блок, а не все сразу, возможно, для него нет цвета в файлах и мод угадывает по текстуре. Задайте цвет дата-файлом, как описано в вики, или выключите deriveColorFromTexture, чтобы всё неизвестное светило тёплым.
Свет всё равно проникает в мою герметичную кабину.
Комната должна быть закрыта со всех сторон блоками, которые сами по себе останавливают свет. Стекло, плиты, ступеньки, заборы и открытые люки свет пропускают, а одна дырка в любом месте оставляет комнату открытой. Если хотите, чтобы свет проходил сквозь корпус - выключите enableSubLevelOcclusion.
Вообще ничего не светится. Смотрите в правый нижний угол начиная с главного меню: если проблема в установке, мод скажет об этом там. Иначе проверьте, что мод бэкенда установлен, постройка реально несёт светящийся блок, а нужная опция включена. Всё, что освещает постройку, и обе серверные опции по умолчанию выключены.
Кому стоит скачать
Если вы строите на Create - поезда, лифты, вращающиеся платформы - этот мод практически must-have. Без него любая подсветка механизмов превращается в боль. Владельцам кораблей на Sable - тоже однозначно, особенно с включённым цветным светом: ночной рейд с тёплыми фонарями на палубе и синим soul-светом в трюме выглядит атмосферно до мурашек.
Скачать Contraption Lights стоит и админам серверов: серверный режим со световыми блоками даёт динамическое освещение всем игрокам сразу, без обязательной установки клиентского мода. Все зависимости опциональны - ставите бэкенд, то, что должно светить, и больше ничего.
Лицензия
All Rights Reserved. Мод можно включать в сборки модов.
Как поиграть с друзьями с модом Contraption Lights - Цветной динамический свет для Create и Sable?
Мод Contraption Lights - Цветной динамический свет для Create и Sable куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода Contraption Lights - Цветной динамический свет для Create и Sable будет готов за пару минут - BungeeHost сделает всё за вас.
