Alfheim
Alfheim — это форк (или переписывание, в зависимости от вашего взгляда на корабль Тесея) мода Hesperus, который, в свою очередь, является форком мода Phosphor.
Какие преимущества это дает по сравнению с Phosphor/Hesperus?
Alfheim нацелен на совместимость во всех сценариях, и если по каким-либо причинам что-то принципиально несовместимо, вместо аварийного завершения работы с минимальной информацией будет выведено предупреждение с объяснением происходящего.
Alfheim также содержит множество оптимизаций различного масштаба по сравнению с Phosphor/Hesperus, и в целом использует немного меньше памяти.
Alfheim также улучшает производительность на стороне клиента, в отличие от Phosphor/Hesperus, за счет сокращения количества обновлений блоков, связанных с освещением, в 27 раз. Для повышения производительности на стороне клиента Alfheim также ограничивает количество обновлений освещения, выполняемых за каждый кадр. Кроме того, Phosphor/Hesperus без необходимости принудительно обновляет освещение перед каждым кадром, чего Alfheim не делает.
Alfheim также исправляет больше проблем с освещением в vanilla, чем Phosphor/Hesperus. Вот список всех исправлений и их источников:
Исправлено в Phosphor/Hesperus:
Исправлено в Alfheim:
- Исправляет MC-92
- Исправляет MC-50734
- Исправляет MC-80966
- Исправляет MC-95515
- Исправляет MC-104532
- Исправляет MC-249343
Почему бы просто не сделать PR в Hesperus?
Справедливый вопрос. Причина проста: Alfheim по сравнению с Hesperus — это не просто форк для исправления ошибок, это мое продолжение его развития. И, как видно из прошлого, мои продолжения модов — это не просто изменение некоторых вещей, они довольно инвазивны и практически полностью меняют внутреннюю структуру.
Изначально это было не так, я хотел сделать некоторые PR в Hesperus, но после частичной работы стало ясно, что это переросло масштабы PR. Поэтому я решил создать Alfheim. На данный момент он включает оптимизации, исправления ошибок и улучшения совместимости, но в дальнейшем у меня есть более масштабные планы.