
Alfheim
Alfheim is a lighting engine replacement for Minecraft, optimized for performance and fixing many bugs
- Загрузки
- 222K
- Подписчики
- 44
- Обновлён
- 23 июня 2025 г.
- Лицензия
- MIT
Опубликован 6 сентября 2023 г.
Alfheim
Alfheim is a fork (or a rewrite depending on your views on the ship of theseus) of Hesperus which is a fork of Phosphor
What benefit does this have over Phosphor/Hesperus?
Alfheim aims to be compatible in all scenarios, and if for any reasons a something is fundamentally incompatible, a warning will tell you what is happening instead of crashing with hardly any information.
Alfheim also has a lot of optimizations of all sizes over Phosphor/Hesperus it uses slightly less memory overall.
Alfheim also improves client side performance unlike Phosphor/Hesperus, by reducing by lighting related block updates by a factor of 27. To improve client side performance, Alfheim also limits how much lighting updates are performed each frame. In addition, Phosphor/Hesperus unnecessarily forces lights to be updates before each frame which Alfheim doesn't.
Alfheim also fixes more vanilla lighting issues than Phosphor/Hesperus, here is a list of all fixes and where they come from:
Fixed in Alfheim:
Why not just PR to Hesperus?
Fair question, the reason is simple, Alfheim compared to Hesperus isn't just a fork to fix bugs, it is my continuation of it. And as seen in the past, my continuations of mods aren't just modifying some things, they are pretty invasive and basically change everything internally.
It wasn't this way at first, I wanted to PR some stuff to Hesperus but after doing parts of it, it became clear that it had grown bigger than a PR. So then I decided to do Alfheim, for now it includes optimizations, bug fixes and compatibility fixes, but later down the line I have more plans.
Want to have your own mod or support me?
If you're looking for a mod but don't have the development skills or time, consider commissioning me! My commissions are currently open and I would be happy to create a custom mod to fit your needs as long as you provide assets.
You can also support me on a monthly basis by becoming a member. To thank you will have the possibility to access exclusive post and messages, Discord channel for WIP content, and even access to unreleased Prototypes or WIP Projects.
You can also buy me a hot chocolate.
Ченджлог
1.6Релиз1.12.2 · 23 июня 2025 г.
Alfheim Version 1.6 Changelog - 2025-06-23
Added
- Alfheim will now attempt to hijack the mixins of Phosphor/Hesperus if it is installed and log a warning
Changed
- Now requires MixinBooter 10.6 and up
- Changed the URL in the mod menu to point to GitHub instead of CurseForge
- World's lighting engines are now lazily initialized
Fixed
Internal
- Removed the
comformVisibilityoverwrite inmixins.alfheim.jsonas it is no longer required with MixinBooter 9.4 and above - Only generate sources jar for releases
- Switched from Javadoc to Markdowndoc
- Now uses tab indentation rather than spaces (This is an experiment that will continue to pop up on other Red Studio projects if everything goes well)
- Update to use Gradle best practices
- Remove
@versiontag from classes - Updated dependencies:
- Updated to gradle-buildconfig-plugin 5.6.6
- Updated to gradle-idea-ext-plugin 1.1.10
- Updated to io.freefair.lombok 8.14
- Updated to RetroFuturaGradle 1.4.5
- Updated to foojay-resolver 1.0.0
- Updated to MixinBooter 10.6
- Updated to Gradle 8.14.2
1.5Релиз1.12.2 · 11 февраля 2025 г.
Changelog File (Include Previous Versions)
Alfheim Version 1.5 Changelog - 2025-02-11
Changed
DeduplicatedLongQueuenow creates a new deduplication set instead of clearing it- Improved client light processing performance by using a
DeduplicatedLongQueueinstead of aSetofBlockPosobjects - Updated dependencies:
- Requires Red Core 0.6 and up
Fixed
- Fixed client lighting not updating past render chunk boundaries #40
Internal
- Updated to org.jetbrains.gradle.plugin.idea-ext 1.1.9
- Updated to MixinBooter 10.2
- Updated to gradle-buildconfig-plugin 5.5.1
- Updated to io.freefair.lombok 8.11
- Updated to foojay-resolver 0.9.0
- Updated to RetroFuturaGradle 1.4.2
- Reworked buildscript
- Updated Red Core dependency to 0.6
1.4Релиз1.12.2 · 21 августа 2024 г.
Changelog File (Include Previous Versions)
Alfheim Version 1.4 Changelog - 2024-08-21
Changed
- Overwrites now do not enforce the scope of methods to prevent crashes, using
conformVisibilityoption instead - Updated dependencies:
- Requires MixinBooter 8.8 and up
- Simplified Cubic Chunks detection logic
Fixed
- Fixed version checking
- Fixed Alfheim not loading on dedicated servers
Removed
- Removed line asking to report a threading issue which is caused by other mods
Internal
- Updated to gradle-buildconfig-plugin 5.4.0
- Updated to io.freefair.lombok 8.7.1
- Remade the build script
- Switched to the new standard
gradle.properties - Updated to Gradle 8.8
- Updated to RetroFuturaGradle 1.4.1
- Updated to MixinBooter 9.0
- Set a minimum Gradle Daemon JVM version requirement
- General cleanup
1.3Релиз1.12.2 · 28 марта 2024 г.
Changelog File (Include Previous Versions)
Alfheim Version 1.3 Changelog - 2024-03-28
Changed
- Queues are now deduplicated, meaning that the lighting engine won't update a position multiple times in a row, improving performance
Fixed
- Fixed compatibility with Vintagium (Thanks to Asek3 in #41)
- Fixed
ArrayIndexOutOfBoundsExceptioncrashes
Internal
- Cleaned up the buildscript
- Now uses the Red Studio maven for Red Core
- Updated RetroFuturaGradle to version 1.3.34
- Updated foojay-resolver to version 0.8.0
- Updated io.freefair.lombok to version 8.6
- Updated org.jetbrains.gradle.plugin.idea-ext to version 1.1.8
1.2Релиз1.12.2 · 11 декабря 2023 г.
Changelog File (Include Previous Versions)
Alfheim Version 1.2 Changelog - 2023-12-11
Changed
- Stopped using
PooledLongQueueusingLongArrayFIFOQueueinstead, should be more optimized (faster & lighter lighting updates) - Skip spreading light neighbor checks early if the current light is lower than the neighbor light
- Made minor changes to clamping (Shouldn't cause a difference)
Internal
- Updated RFG
- Updated Gradle
- Fixed the names of the arrays of queues
- Cleaned up
LightingEngine
1.1.1Релиз1.12.2 · 19 ноября 2023 г.
Changelog File (Include Previous Versions)
Alfheim Version 1.1.1 Changelog - 2023-11-19
Fixed
- Fixed log spam
1.1Релиз1.12.2 · 17 ноября 2023 г.
Changelog File (Include Previous Versions)
Alfheim Version 1.1 Changelog - 2023-11-18
Now depends on Red Core 0.5
Now depends on MixinBooter 8.6
Changed
- Lighting engine will now schedule updates no matter if that chunk is loaded, which is different from vanilla but potentially fix areas lighting being weird when going far away
- Made the logic for capping the client updates per frame dumber which should fix performance drops on lower end hardware (Fixes #20)
- Made all head-cancels overwrite instead
- All overwrites now make the scope of the overwritten methods
publicto prevent access level conflicts at runtime - Updated the in game description to the new short description
- Updated to Red Core 0.5
Fixed
- Fixed a crash at start on Mohist (Probably any Bukkit implementation)
- Fixed skins not working with Alfheim paired with some other mod (we don't know which)
- Fixed unescaped unicode characters in the description
Internal
- Switched to CurseUpdate for update checking
- Switched to gradle-buildconfig-plugin entirely for project constants
- Switched to Gradle Kotlin DSL
- Switched to Adoptium
- Moved logo to the root of the resources module
- General cleanup
- General typo fixing
- Added missing since tags
- Deprecated
PooledLongQueue
Removed
- Removed access transformed as overwrites can already do the job on their own
1.0.2Релиз1.12.2 · 12 сентября 2023 г.
Changelog File (Include Previous Versions)
Alfheim Version 1.0.2 Changelog - 2023-09-12
Fixed
- Fixed crash on world load with Nothirium
- Fixed crashes on dedicated servers
Internal
- Reorganized
ChunkMixin - Cleaned up
ChunkMixin
Комментарии
Загружаем…