
Client/Server Entity Mismatch (Take 2)
Closed this issue ยท 10 comments
I originally posted this issue in the wrong repository. Again, I apologize for that. That issue can be found here: SleepyTrousers/EnderIO-1.5-1.12#2915
As per tterrag1098 comment on the previous issue:
"So it seems the solution is to disable it on your client...?"
Yes, that is a workaround not a solution.
Why is that?
Have you ever played multiple servers before? If you have, you should know that no two servers are identical. The problem is I get on many different servers, some of which do and don't have ender zoo on the server side. This is problematic. I could create another instance of the FTB DW20 pack using something like MulitMC but it would take 15 minutes to switch between clients. 15 minutes I could be playing MC with.
So what's the solution?
As I mentioned before, KingLemming said - and I'm paraphrasing here - Thermal Expansion will not be active on the client if the server is missing Thermal Expansion.
So my request is that Ender Zoo also have that feature so I can seamlessly join a server that dose or dose not have Ender Zoo without risk of error like the one i showed in my original issue.
PS: I apologize in advance if i seam a little rude in this post. That was not the intent. I can't transmit emotions vary well through the internet and it's even harder for me specifically. I hold no ill will against tterrag1098 or anyone else and i hope the same is true for everyone else. Thank you.
It is not possible to "not be active". The entity registrations are done on load on your client, it cannot be undone. I don't understand why you can't just remove the mod if your server doesn't have it.
Entities, Items, Blocks and Recipes are all registered with the game when it starts. Not when connecting to a server. Fixing your derped setup for you would require us to unregister all our stuff when connectioin to a server that doesn't have Ender* installed. For most of it, there isn't even a way to unregister it.
PS: Also, Unregistering our entities wouldn't magically shift the entity IDs other mods have been assigned.
What i don't understand is why thermal expansion mobs are showing up as ender zoo mobs. How is that even possible?
Is there any way to work around that and make this issue not happen short of removing it from my client? If the answer is no, I'll stop dragging this on.
@sonicer105 KingLemming didn't say that the CoFH mods would be disabled if they are only installed client side, he said that the mod won't let you connect to the server if the mod is not existing there.
He said: "Basically if it causes that sort of problem when it's only on one side, then it should be required on both client and server. We do this for all of our mods; they should be doing it for theirs."
I can add a bit of code to prevent this happening, but it doesn't solve your problem because you still couldn't hotswap servers, you would need to remove EnderZoo from your client so it would allow you to join.
They are showing up as the wrong mob because your clientside entity IDs are different.
@XFactHD Thanks for clearing that up. I misinterpreted what was said. Sorry about that.
@tterrag1098 Thanks for clearing that up. That makes sense to me. If you could add that bit of code, at least no one else will have this problem and that's my biggest concern. Thank you everyone for all the help.
[...]you still couldn't hotswap servers, you would need to remove EnderZoo from your client so it would allow you to join.
i was fighting for this feature with the maker of bungee and spigot but i did not succeed ... forge does not and never will support hotswapping unfortunately ... "the login times would be massive if the client would reinitialize all mods on every login with a new handshake"