Closed Fourmisain closed 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!
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
I was subscribed to that issue so I saw that indeed. Still, thanks for letting me know, and again, thanks for your helpful issue!
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/3The 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, solastInstance
never actually changes.)This hack could probably be implemented here as well, though I only see it as something temporary.