AtomicStryker / atomicstrykers-minecraft-mods

Repository for my open source Minecraft Mods
https://atomicstryker.github.io/
180 stars 96 forks source link

Seizure-Inducing Flickering in Dynamic Light #506

Closed DrParadox7 closed 3 months ago

DrParadox7 commented 3 months ago

When players are set on fire, Dynamic Light will flicker on and off extremely quickly possibly causing seizures to the aforementioned players:

Video Demonstration [Warning: Contains flashing Lights]

https://github.com/AtomicStryker/atomicstrykers-minecraft-mods/assets/47131096/4310941a-4e9a-46c0-931c-563aa0abc021

I have a fix ready for it in 1.7.10 and I hope you can consider it critical enough to allow its publishing on GitHub or even publishing it yourself on Curseforge as a new release.

DrParadox7 commented 3 months ago

I'll post the fixed version here. If you find that to be a breach of license, please delete this comment and its attachment: Dynamic Lights-1.3.10-MC1.7.10.zip

The only class changed was atomicstryker.dynamiclights.client.adaptors.PlayerSelfAdaptor Where

if (this.thePlayer.isBurning()) {
  this.lightLevel = 15;
  }

was placed before

if (prevLight != 0 && this.lightLevel != prevLight) {
  this.lightLevel = 0;
  }

rather than after.

AtomicStryker commented 3 months ago

Hmm this code from a decade ago is .. ewww Logic does not appear to make sense I rewrote that module a little https://github.com/AtomicStryker/atomicstrykers-minecraft-mods/commit/fef8c9ee4143b49504179c4d87248c7a5a6dbb2c

Could you take this updated file and check if it works

dynamiclights-1.4.0.zip

DrParadox7 commented 3 months ago

Hmm this code from a decade ago is .. ewww Logic does not appear to make sense I rewrote that module a little fef8c9e

Could you take this updated file and check if it works

dynamiclights-1.4.0.zip

The mod provided won't work, even when the dummy mod is loaded in

DrParadox7 commented 3 months ago

This new version 1.4.0 also rolls back the 1.3.9a update where the configs are unified into1 (which is not in the github either, I decompiled the mod to get it).

AtomicStryker commented 3 months ago

Curious. Why is this not in my github? Perhaps it was during the migration from the previous svn to github and got lost. I'll check it out later. Busy

AtomicStryker commented 3 months ago

Ah, i didnt remember this, but apparently that version was made by "LakMoore" and he gave it to me for distribution.

He then apparently created a fork https://www.curseforge.com/minecraft/mc-mods/smooth-entity-light

AtomicStryker commented 3 months ago

So, your file actually still has @Mod version "1.3.9a" in the DynamicLights.class

I could take the file, adjust the changelog like so:

1.3.9a bugfix (thanks to https://github.com/DrParadox7)

1.3.9a (thanks to https://github.com/LakMoore)

And publish it on the Dynamic Lights curse. Would that be OK with you?

DrParadox7 commented 3 months ago

Sure, do whatever you deem necessary to get it released. I don't mind it at all as my primary concern is the health risks it poses.

DrParadox7 commented 3 months ago

Ah, i didnt remember this, but apparently that version was made by "LakMoore" and he gave it to me for distribution.

He then apparently created a fork https://www.curseforge.com/minecraft/mc-mods/smooth-entity-light

I've spent a fair bit of time trying to find that fork without success. I'll be sure to also send the PR to it if the issue is there also, thanks for the heads up 👍

AtomicStryker commented 3 months ago

OK thanks, ive pushed it to curse, and linked you in the changelog and in the version changelog. I could reverse-engineer the source but i dont want to invest the effort, that's atleast a couple hours work undoing the obfuscation.