Ladysnake / Illuminations

Fireflies and other illuminations to make your world more enjoyable in darkness.
https://ladysnake.github.io/wiki/illuminations/
Other
135 stars 41 forks source link

'Conflict' with BetterEnd #59

Closed Fourmisain closed 3 years ago

Fourmisain commented 3 years ago

Original Issues

https://github.com/RandomMcSomethin/fallingleaves/issues/2#issuecomment-724280523 https://github.com/paulevsGitch/BetterEnd/issues/14 https://github.com/FabricMC/fabric/issues/1165 (might wanna start reading here)

Description

This is the same issue Falling Leaves has as well, in short: When BetterEnd is installed on the server, custom client-side particles don't spawn in multiplayer.

It currently looks like this is a fabric issue where custom particle types from the server get synchronized with the client and replace all client-side only particle types. The particles still get added to the world, but they are never actually created because they are not registered anymore.

Hacky solution

At least for Falling Leaves, I found that if you force the creation of particles by using a Mixin on ParticleManager.createParticle, particles spawn and behave like normal. I currently have an open pull request which does this: https://github.com/RandomMcSomethin/fallingleaves/pull/3

The main part is this: https://github.com/Fourmisain/fallingleaves/blob/client_only/src/main/java/fallingleaves/fallingleaves/mixin/ParticleManagerMixin.java and this: https://github.com/Fourmisain/fallingleaves/blob/a17c2f2a0f2d66835744b56d6f3ee10ef92bdd41/src/main/java/fallingleaves/fallingleaves/particle/FallingLeafParticle.java#L66-L75 (It seems only ever one ParticleFactory is created, so lastInstance never actually changes.)

This hack could probably be implemented here as well, though I only see it as something temporary.

doctor4t commented 3 years ago

Kinda funny how I discovered BetterEnd today and was really excited to try it out. Thanks a lot for this very detailed issue, I will have a look!

Fourmisain commented 3 years ago

This should now be fixed with https://github.com/FabricMC/fabric/pull/1179, in the fabric API 0.26.3 release, so you can revert the hack

doctor4t commented 3 years ago

I was subscribed to that issue so I saw that indeed. Still, thanks for letting me know, and again, thanks for your helpful issue!