LambdAurora / LambDynamicLights

A dynamic lighting mod for Minecraft on Fabric Loader.
https://lambdaurora.dev/projects/lambdynamiclights/
Other
414 stars 101 forks source link

Port to 1.21 #227

Closed IMS212 closed 4 months ago

IMS212 commented 5 months ago

Ported to yarn mappings and added Sodium 0.6 support.

BluSpring commented 5 months 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 5 months ago

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

tooobiiii commented 5 months 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 5 months 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 4 months ago

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

sternschnaube commented 4 months ago

Thanks for the update @IMS212 😃

TheRealJake12 commented 4 months ago

can I get uhh compiled build please

SonicGal commented 4 months 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 4 months 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 4 months 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 4 months 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 4 months 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 4 months 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 4 months ago

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

xenouch commented 4 months ago

Based on @IMS212 Forks, thanks to him !

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

Download the artifacts

LambdAurora commented 4 months 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 4 months ago

too late, I'm already excited