'Conflict' with BetterEnd
Fourmisain opened this issue ยท 3 comments
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.
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 FabricMC/fabric#1179, in the fabric API 0.26.3 release, so you can revert the hack