Перейти к содержимому
Mineforgian

Alfheim

Alfheim is a lighting engine replacement for Minecraft, optimized for performance and fixing many bugs

Загрузки
222K
Подписчики
44
Обновлён
23 июня 2025 г.
Лицензия
MIT

Опубликован 6 сентября 2023 г.

Buy Me a Coffee Discord

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 Phosphor/Hesperus:

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.


BisectHostingPromoBanner

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.

Commissions

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.

Membership

You can also buy me a hot chocolate.

Ченджлог

1.6Релиз1.12.2 · 23 июня 2025 г.

Changelog File

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 comformVisibility overwrite in mixins.alfheim.json as 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 @version tag from classes
  • Updated dependencies:
1.5Релиз1.12.2 · 11 февраля 2025 г.

Changelog File (Include Previous Versions)

Alfheim Version 1.5 Changelog - 2025-02-11

Changed

  • DeduplicatedLongQueue now creates a new deduplication set instead of clearing it
  • Improved client light processing performance by using a DeduplicatedLongQueue instead of a Set of BlockPos objects
  • Updated dependencies:
    • Requires Red Core 0.6 and up

Fixed

  • Fixed client lighting not updating past render chunk boundaries #40

Internal

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 conformVisibility option 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

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 ArrayIndexOutOfBoundsException crashes

Internal

1.2Релиз1.12.2 · 11 декабря 2023 г.

Changelog File (Include Previous Versions)

Alfheim Version 1.2 Changelog - 2023-12-11

Changed

  • Stopped using PooledLongQueue using LongArrayFIFOQueue instead, 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 public to 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

Комментарии

Загружаем…