Обзор
DarknessLib — это библиотечный мод с функциями для работы с вычислениями освещения и встроенной поддержкой наиболее распространенных модов с динамическим освещением. Поскольку это библиотечный мод, сам по себе он делает немного, но другие моды могут добавить поддержку для него, чтобы уменьшить необходимость создания однотипного кода.
Функциональность
Эта библиотека предоставляет следующее:
- Функции для проверки относительного уровня освещения (которые также учитывают такие вещи, как нахождение в песке душ)
- Поддержку Dynamic Lights от Atomic Stryker, Dynamic Lights от Optifine и Smooth Entity Light. Функциональность работает на основе игрока (если включено, любой игрок, использующий любой из названных модов с динамическим освещением, будет иметь этот свет добавленным к своему общему освещению, а не так, что клиентская сторона говорит, что светло, в то время как серверная — что нет). Также присутствует настраиваемый список, в который можно добавить дополнительные портативные источники света (если они ещё не были обнаружены, так как библиотека имеет встроенную функциональность для попытки определения источников света из всех зарегистрированных блоков).
- Встроенный список транспортных средств, которые моды, полагающиеся на библиотеку, могут проверять перед проверкой уровня освещения (поскольку и вагонетки, и лодки скрывают уровень освещения, когда вы находитесь внутри).
- Поддержку IMC для модов, чтобы добавлять как портативные источники света, так и транспортные средства в соответствующие списки внутри мода (или вы можете открыть тикет в трекере проблем с modid и путём к классу сущности транспортного средства, и я включу его во внутренний список).
Конфигурация
Мод также поставляется с несколькими опциями конфигурации:
IMC
Если вы хотите добавить транспортные средства из вашего мода в список транспортных средств, вы можете сделать это с помощью следующего кода:
FMLInterModComms.sendMessage("darknesslib", "addVehicle", "path.to.mod.Entity"); //или любой альтернативный способ, где вы получаете точный путь
Где путь — это просто путь к вашей сущности транспортного средства (обязательно проверьте заранее, влияет ли это на вычисления освещения). Если ваше транспортное средство наследует от ванильной вагонетки или лодки, они будут автоматически обнаружены системой. Естественно, если у вас много транспортных средств, вам нужно зарегистрировать только ваш базовый класс для них (при условии, что он у вас есть).
Если вы хотите добавить портативные источники света из вашего мода в список динамического освещения, вы можете сделать это с помощью следующего кода:
FMLInterModComms.sendMessage("darknesslib", "addLightsource", new ItemStack(ССЫЛКА_НА_ПРЕДМЕТ_ЗДЕСЬ));
FMLInterModComms.sendMessage("darknesslib", "addLightsource", "modid:name:meta;light_level");
Где версия с ItemStack установит уровень освещения на 15, а строковая версия будет использовать OreDictionary.WILDCARD_VALUE по умолчанию, если meta опущена (и уровень освещения также будет установлен на 15, если он опущен).
Поддержка модов
Этот мод имеет встроенную поддержку для:
- Транспортных средств из MrCrayfish's Vehicle Mod.
