Compatibility with upcoming optimization mod 'Moonrise'

I am working on a new optimization mod for the the dedicated and integrated server called Moonrise, and it includes Starlight. We've already made a couple changes on our end to improve compatibility, but there's one more thing left. As you probably already know, Starlight writes light data in it's own format which causes black LOD chunks. The fix is pretty simple (see attached screenshot), but I'm not sure how to apply it with the complex build setup of DH. I can send jars for testing, but I also totally understand if you'd prefer to wait for public binaries and source. Just thought I would drop this here sooner rather than later, to preempt incompatibility complaints on either end
No description
Solution:
In DH 2.2 we no longer pull in chunk lighting data so this isn’t an issue. We just regenerate the lighting instead.
Jump to solution
7 Replies
jmp
jmp3mo ago
for reference:
public static void loadLightHook(final Level world, final ChunkPos pos, final CompoundTag tag, final ChunkAccess into) {
public static void loadLightHook(final Level world, final ChunkPos pos, final CompoundTag tag, final ChunkAccess into) {
That Guy
That Guy3mo ago
In the latest versions of minecraft the lighting engine has changed so you don't need starlight anymore
jmp
jmp3mo ago
Yes, vanilla now has 90% of the gains that Starlight used to have, but Starlight still provides invariants that vanilla's engine doesn't which are needed for other optimizations in Moonrise
Solution
BackSun
BackSun3mo ago
In DH 2.2 we no longer pull in chunk lighting data so this isn’t an issue. We just regenerate the lighting instead.
jmp
jmp3mo ago
Ah ok nice. Another thing that is less important: do you know if there's a reason DH calls chunkMap.worker.loadAsync instead of just chunkMap.read?
public CompletableFuture<Optional<CompoundTag>> read(ChunkPos chunkPos) {
return this.worker.loadAsync(chunkPos);
}
public CompletableFuture<Optional<CompoundTag>> read(ChunkPos chunkPos) {
return this.worker.loadAsync(chunkPos);
}
We normally null out the worker field since it's private, but we've added a dummy implementation to allow DH to work without changes.
BackSun
BackSun3mo ago
I don’t remember if chunkMap.read works on older MC versions and/or if it had issues with C2ME.
That Guy
That Guy3mo ago
If you don't need anything else could you please mark this post as solved if you haven't already
Want results from more Discord servers?
Add your server