Skip to content

Commit

Permalink
1.0.1
Browse files Browse the repository at this point in the history
  • Loading branch information
txnitxnichopper committed Dec 21, 2021
1 parent 2ec1b62 commit db3623a
Show file tree
Hide file tree
Showing 7 changed files with 61 additions and 64 deletions.
12 changes: 10 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -130,8 +130,8 @@ dependencies {

minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"

compileOnly fg.deobf("curse.maven:magnesium-532724:3503910")
runtimeOnly fg.deobf("curse.maven:magnesium-532724:3503910")
compileOnly fg.deobf("curse.maven:magnesium-532724:3526076")
runtimeOnly fg.deobf("curse.maven:magnesium-532724:3526076")

runtimeOnly fg.deobf("curse.maven:jei-238222:3438494")
runtimeOnly fg.deobf("curse.maven:jer-240630:3066754")
Expand All @@ -146,6 +146,14 @@ dependencies {
runtimeOnly fg.deobf("curse.maven:engineers-313866:3390489")
runtimeOnly fg.deobf("curse.maven:immersive-231951:3497359")
runtimeOnly fg.deobf("curse.maven:patchouli-306770:3459118")
runtimeOnly fg.deobf("curse.maven:kotrt-543308:3571155")

runtimeOnly fg.deobf("curse.maven:architecury-419699:3570507")
runtimeOnly fg.deobf("curse.maven:ftbteams-404468:3535953")
runtimeOnly fg.deobf("curse.maven:ftbranks-314905:3530024")
runtimeOnly fg.deobf("curse.maven:ftbchunks-314906:3538223")

runtimeOnly fg.deobf("curse.maven:ftblibrary-404465:3553840")

annotationProcessor 'org.spongepowered:mixin:0.8.3:processor'
}
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ org.gradle.daemon = false

# mod version info
mod_id = dynamiclightsreforged
mod_version = 1.0.0
mod_version = 1.0.1
minecraft_version = 1.16.5
forge_version = 36.2.0

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,26 @@ public DynamicLightsReforged() {
}


private static long lambdynlights_lastUpdate = 0;

public static boolean ShouldUpdateDynamicLights()
{
String mode = DynamicLightsConfig.Quality.get();
if (Objects.equals(mode, "OFF"))
return false;

long currentTime = System.currentTimeMillis();

if (Objects.equals(mode, "SLOW") && currentTime < lambdynlights_lastUpdate + 500)
return false;


if (Objects.equals(mode, "FAST") && currentTime < lambdynlights_lastUpdate + 200)
return false;

lambdynlights_lastUpdate = currentTime;
return true;
}


/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ public class DynamicLightsConfig
public static ForgeConfigSpec.ConfigValue<Boolean> EntityLighting;
public static ForgeConfigSpec.ConfigValue<Boolean> TileEntityLighting;

public static ForgeConfigSpec.ConfigValue<Boolean> OnlyUpdateOnPositionChange;

static
{
Expand All @@ -24,6 +25,7 @@ public class DynamicLightsConfig
Quality = b.define("Quality Mode (OFF, SLOW, FAST, REALTIME)", "REALTIME");
EntityLighting = b.define("Dynamic Entity Lighting", true);
TileEntityLighting = b.define("Dynamic TileEntity Lighting", true);
OnlyUpdateOnPositionChange = b.define("Only Update On Position Change", true);
});

ConfigSpec = builder.Save();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,32 +109,7 @@ public int getLuminance()
@Override
public boolean shouldUpdateDynamicLight()
{
String mode = DynamicLightsConfig.Quality.get();

if (Objects.equals(mode, "OFF"))
return false;

if (Objects.equals(mode, "SLOW"))
{
long currentTime = System.currentTimeMillis();
if (currentTime < this.lambdynlights_lastUpdate + 500) {
return false;
}

this.lambdynlights_lastUpdate = currentTime;
}

if (Objects.equals(mode, "FAST"))
{
long currentTime = System.currentTimeMillis();
if (currentTime < this.lambdynlights_lastUpdate + 200) {
return false;
}

this.lambdynlights_lastUpdate = currentTime;
}

return true;
return DynamicLightsReforged.ShouldUpdateDynamicLights();
}

@Override
Expand Down
39 changes: 12 additions & 27 deletions src/main/java/me/lambdaurora/lambdynlights/mixin/EntityMixin.java
Original file line number Diff line number Diff line change
Expand Up @@ -121,32 +121,7 @@ public void resetDynamicLight() {

@Override
public boolean shouldUpdateDynamicLight() {
String mode = DynamicLightsConfig.Quality.get();

if (Objects.equals(mode, "OFF"))
return false;

if (Objects.equals(mode, "SLOW"))
{
long currentTime = System.currentTimeMillis();
if (currentTime < this.lambdynlights_lastUpdate + 500) {
return false;
}

this.lambdynlights_lastUpdate = currentTime;
}

if (Objects.equals(mode, "FAST"))
{
long currentTime = System.currentTimeMillis();
if (currentTime < this.lambdynlights_lastUpdate + 200) {
return false;
}

this.lambdynlights_lastUpdate = currentTime;
}

return true;
return DynamicLightsReforged.ShouldUpdateDynamicLights();
}

@Override
Expand All @@ -173,7 +148,17 @@ public boolean lambdynlights_updateDynamicLight(@NotNull WorldRenderer renderer)

int luminance = this.getLuminance();

if (Math.abs(deltaX) > 0.1D || Math.abs(deltaY) > 0.1D || Math.abs(deltaZ) > 0.1D || luminance != this.lambdynlights_lastLuminance) {

double minDelta = 0D;
String mode = DynamicLightsConfig.Quality.get();
if (Objects.equals(mode, "SLOW"))
minDelta = 0.5D;

if (Objects.equals(mode, "FAST") )
minDelta = 0.20D;


if (Math.abs(deltaX) > minDelta || Math.abs(deltaY) > minDelta || Math.abs(deltaZ) > minDelta || luminance != this.lambdynlights_lastLuminance) {
this.lambdynlights_prevX = this.getX();
this.lambdynlights_prevY = this.getY();
this.lambdynlights_prevZ = this.getZ();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.google.common.collect.ImmutableList;
import me.jellysquid.mods.sodium.client.gui.SodiumGameOptionPages;
import me.jellysquid.mods.sodium.client.gui.SodiumGameOptions;
import me.jellysquid.mods.sodium.client.gui.SodiumOptionsGUI;
import me.jellysquid.mods.sodium.client.gui.options.*;
import me.jellysquid.mods.sodium.client.gui.options.control.CyclingControl;

Expand All @@ -11,31 +12,36 @@
import me.lambdaurora.lambdynlights.DynamicLightsReforged;
import me.lambdaurora.lambdynlights.config.DynamicLightsConfig;
import me.lambdaurora.lambdynlights.config.QualityMode;
import net.minecraft.client.gui.screen.Screen;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Pseudo;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import org.spongepowered.asm.mixin.injection.callback.LocalCapture;

import java.util.ArrayList;
import java.util.List;

@Pseudo
@Mixin(SodiumGameOptionPages.class)
@Mixin(SodiumOptionsGUI.class)
public abstract class SodiumSettingsMixin {

@Shadow
@Final
private List<OptionPage> pages;

private static final SodiumOptionsStorage dynamicLightsOpts = new SodiumOptionsStorage();


@Inject(
method = "experimental",
at = @At(value = "INVOKE", target = "Lcom/google/common/collect/ImmutableList;copyOf(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableList;"),
locals = LocalCapture.CAPTURE_FAILHARD,
remap = false
)
private static void DynamicLights(CallbackInfoReturnable<OptionPage> cir, List<OptionGroup> groups)
@Inject(method = "<init>", at = @At("RETURN"))
private void DynamicLights(Screen prevScreen, CallbackInfo ci)
{
List<OptionGroup> groups = new ArrayList<>();

OptionImpl<SodiumGameOptions, QualityMode> qualityMode = OptionImpl.createBuilder(QualityMode.class, dynamicLightsOpts)
.setName("Dynamic Lights Speed")
.setTooltip("Controls how often dynamic lights will update. " +
Expand Down Expand Up @@ -82,6 +88,8 @@ private static void DynamicLights(CallbackInfoReturnable<OptionPage> cir, List<O
.add(tileEntityLighting)
.build()
);

pages.add(new OptionPage("Dynamic Lights", ImmutableList.copyOf(groups)));
}


Expand Down

0 comments on commit db3623a

Please sign in to comment.