LambdAurora / LambDynamicLights

A dynamic lights mod for Minecraft on Fabric Loader.
https://modrinth.com/mod/lambdynamiclights
Other
392 stars 98 forks source link

Port to 1.21 #227

Closed IMS212 closed 1 month ago

IMS212 commented 1 month ago

Ported to yarn mappings and added Sodium 0.6 support.

BluSpring commented 1 month ago

Since Sodium 0.6 has FRAPI support now, double check to make sure flat lighting and such work correctly with the Indigo/Indium "always-tesselate-blocks" mode enabled (if that exists in 0.6), #224 had to be made because of this.

IMS212 commented 1 month ago

Sodium’s renderer has no concept of “always tesselate blocks”; both FRAPI and Vanilla models render using identical paths.

tooobiiii commented 1 month ago

@IMS212 can you create your own fork or repo so we can download it earlier other than wating for the maintainer to pull? Would be great

megabyte6 commented 1 month ago

@IMS212 I tried to build LambDynamicLights with your ported version of pridelib. I got it to compile but it's still crashing when I open LambDynamicLights' settings in-game with Mod Menu. I don't know if it's related to pridelib or the 1.21 port of LambDynamicLights and I don't currently have the time to investigate but if I find anything, I'll reply here.

NotADinosaur commented 1 month ago

I also complied it and I'm not getting any crashes when opening the modmenu settings.

sternschnaube commented 1 month ago

Thanks for the update @IMS212 😃

TheRealJake12 commented 1 month ago

can I get uhh compiled build please

SonicGal commented 1 month ago

I am attempting to compile this for testing, but I am unable to generate a jar file from the repository as-is. Gradle throws the following message:

> Could not resolve all files for configuration ':modImplementation'.
> Could not find io.github.queerbric:pridelib:1.2.1+1.21.

Reading megabyte6's comment led me to your pridelib branch for 1.21, which I was able to compile successfully. But when I updated the dependency for it in the LambDynamicLights project, I am still unable to compile. I receive this:

> Task :compileJava
C:\Users\[REDACTED]\Desktop\LambDynamicLights-1.21-2\src\main\java\dev\lambdaurora\lambdynlights\gui\RandomPrideFlagBackground.java:53: error: cannot access class_2960
                if (this.flag.getShape() == PrideFlagShapes.get(Identifier.of("pride", "horizontal_stripes"))) {
                                                           ^
  class file for net.minecraft.class_2960 not found
C:\Users\[REDACTED]\Desktop\LambDynamicLights-1.21-2\src\main\java\dev\lambdaurora\lambdynlights\gui\RandomPrideFlagBackground.java:101: error: cannot access class_4587
                        this.flag.render(drawContext.getMatrices(), x, y, widget.getWidth(), widget.getHeight());
                                 ^
  class file for net.minecraft.class_4587 not found
2 errors

> Task :compileJava FAILED

I am not sure how to proceed from here. Gradle is entirely new to me, so I am most likely approaching this process incorrectly. Any help would be greatly appreciated.

NotADinosaur commented 1 month ago

@SonicGal I'm also basically new at gradle, but for me after compiling the 1.21 pridelib branch I put the pridelib .jar into a folder I made called libs in the lambdynamiclights folder and added that folder to the repositories section of the build.gradle with

    flatDir {
        dirs("libs")
    }

and then it builds successfully.

SonicGal commented 1 month ago

Thank you so much! This was initially not working because other answers/documentation I found online suggested this needed to be added and/or the dependency line needed to be changed, so I had modImplementation include("io.github.queerbric:pridelib:${project.pridelib_version}") commented out when I was troubleshooting the problem earlier. Undoing all changes and simply adding the flatDir block resolved the issue. ❤️

arsel-5lvxa7b1 commented 1 month ago

Hello! Not sure if I understand the state of this PR, is something needs to be done before it can get merged? I can help if needed

megabyte6 commented 1 month ago

@arsel-5lvxa7b1 from my understanding, it pretty much just has to be merged. I don't think there are any outstanding issues besides pridelib not being updated on the official repo.

MiraculixxT commented 1 month ago

Does anyone else experience issues with the graphic settings menu? After using this version with the 1.21 pridelib version, clicking on the Video Settings button does not open the video settings menu anymore. No crash, no error, just an invisible overlay preventing any other clicks.

Edit: This is bypassed by using Sodium. Still, this is suboptimal behavior and I can not really find a solution in the mixins.

LordEnder-Kitty commented 1 month ago

If somebody has a working compiled version, could you please send it so that others don't have to struggle?

xenouch commented 1 month ago

Based on @IMS212 Forks, thanks to him !

https://github.com/xenouch/LambDynamicLights/actions/runs/10003418645

Download the artifacts

LambdAurora commented 1 month ago

Before any of you all get too excited that this PR is merged, there's still other things that need to be done before release.

XandarNull commented 3 weeks ago

too late, I'm already excited