Illuminations ๐Ÿ”ฅ

Illuminations ๐Ÿ”ฅ

6M Downloads

'Conflict' with BetterEnd

Fourmisain opened this issue ยท 3 comments

commented

Original Issues

RandomMcSomethin/fallingleaves#2 (comment)
paulevsGitch/BetterEnd#14
FabricMC/fabric#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: RandomMcSomethin/fallingleaves#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.

commented

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!

commented

This should now be fixed with FabricMC/fabric#1179, in the fabric API 0.26.3 release, so you can revert the hack

commented

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