sisby-folk / switchy

A minecraft mod that combines player personalization features from other mods into presets.
https://modrinth.com/mod/switchy
GNU Lesser General Public License v3.0
12 stars 8 forks source link

Inconsistent data loss when switching via the UI #68

Open AceOfThorns opened 6 months ago

AceOfThorns commented 6 months ago

I am playing on the 1.19.2 fabric version of the mod with these modules: styled nicknames, origins, experience, fabric tailor, ender chests, spawn point, trinkets, apoli, pehkui, inventories.

The issue I'm having is the following= whenever I switch from one preset to another it pastes the origin, nickname, color and bio of the one I just selected onto the one i just switched from. Sometimes it doesn't but then it does it again and I don't know how to not have it doing that?

https://github.com/sisby-folk/switchy/assets/154021655/e63ef830-c225-4333-802d-37083fbceb7e

sisby-folk commented 6 months ago

It seems like there's some kind of substantial bug at play here - for starters, clicking another preset is supposed to close the GUI - does this still happen when using the /switch command?

AceOfThorns commented 6 months ago

It seems like there's some kind of substantial bug at play here - for starters, clicking another preset is supposed to close the GUI - does this still happen when using the /switch command?

I tried this and it actually works just fine with the command thank you!

Dumpling00 commented 1 month ago

Hey @sisby-folk I'd just like to bump this as I've been having the same issue. Command-based switching definitely seems to be more stable but it starts acting like in the video above after a while, especially if you have more than, say, 3 or 4 character presets.

I'm on Fabric 1.20.1 and using all the modules except ender chest. Could this please be looked into? I thought it was an issue with distance, initially, until it started happening when switching between characters that were next to each other. We had an RPG campaign going and we've lost about 20 hours worth of progress due to switchy also overwriting things like inventory and exp other than skin, nickname and origin.

Please please please could this be looked into? 🙏 I'm willing to test it to exhaustion. Thank you so much for your time and consideration.

sisby-folk commented 1 month ago

If you could, could you try find a reproduction case for this issue? It could potentially be related to inventories full of complex items (shulker boxes full of written books etc) - if we can force it to happen on our machine, that'd make it a lot easier to fix.

Dumpling00 commented 1 month ago

If you could, could you try find a reproduction case for this issue? It could potentially be related to inventories full of complex items (shulker boxes full of written books etc) - if we can force it to happen on our machine, that'd make it a lot easier to fix.

This happens independently of inventories - I've made more tests I haven't mentioned but this happens a lot during the creation of characters, so when their inventories are still empty. I don't know if it may be caused by the presence of other mods so I'll do a quick test on an empty instance and come back to you. We thought it could be a connection delay but we confirmed it happens in single player too.

In the meantime, worth mentioning, I'm using: -Switchy -Switchy Inventories -Switchy Proxy -Switchy Teleport -Switchy Status -Trinkets -Not Enough Trinkets -Styled Nicknames -Origins -Origins++ -Origins Classes -Pehkui -Fabric Tailor -owo lib

Dumpling00 commented 1 month ago

If you could, could you try find a reproduction case for this issue? It could potentially be related to inventories full of complex items (shulker boxes full of written books etc) - if we can force it to happen on our machine, that'd make it a lot easier to fix.

This happens independently of inventories - I've made more tests I haven't mentioned but this happens a lot during the creation of characters, so when their inventories are still empty. I don't know if it may be caused by the presence of other mods so I'll do a quick test on an empty instance and come back to you. We thought it could be a connection delay but we confirmed it happens in single player too.

In the meantime, worth mentioning, I'm using: -Switchy -Switchy Inventories -Switchy Proxy -Switchy Teleport -Switchy Status -Trinkets -Not Enough Trinkets -Styled Nicknames -Origins -Origins++ -Origins Classes -Pehkui -Fabric Tailor -owo lib

It doesn't really seem to happen on its own so it's gotta be because of another mod interfering somehow, and unfortunately our modpack is pretty loaded- I will do more tests, but is there anything in particular we should look out for? Is it simply because there are too many items in-game? If we could have an educated guess on what type of mod could be causing he issue, we could start selectively removing them and keep on testing.

Dumpling00 commented 1 month ago

If you could, could you try find a reproduction case for this issue? It could potentially be related to inventories full of complex items (shulker boxes full of written books etc) - if we can force it to happen on our machine, that'd make it a lot easier to fix.

Okay, I've managed to make it happen again. It doesn't seem to be tied to any mod in particular so far except Essential, the mod we use to play together. I've tried switching around characters in single player and everything works perfectly so far, until I start hosting the world through Essential - the first switch I did caused a skin and origin paste. Possibly even inventory and exp but those were empty so can't really say.

I thought that might have been a coincidence, so I tried again. So far it only seems to happen when hosting the world, or, I'm guessing, being in any kind of multiplayer environment.

I will now go back to my fully modded instance and do some more single player tests without having Essential installed. It may be a case of multiple mods causing the same issue somehow. I doubt Essential is the only culprit.

Anything that can be done on your end, knowing this? It does feel tied to some kind of tick delay, which I guess would only become more common the more the instance gets loaded with mods.

Dumpling00 commented 1 month ago

Can confirm it starts to happen in single player too after loading the modpack some more, which is also when I start noticing a bit of a slower response time, so the tick delay theory holds up. It happens both through the GUI and via commands.

Dumpling00 commented 1 month ago

[POSSIBLE CULPRIT FOUND!] Testing by slowly re-adding every mod I have in my modpack to the new instance. Weird as it seems, the mod "Infinity Cave" seems to be the cause of the skin pasting in single player, or at least one of the causes. (You could try this on a new world, since it's a terrain gen mod.) Essential still causes this without fail.

Went back to the fully loaded modpack and removed Infinity Cave. Tried switching characters around in single player again and the issue seems gone. Since Infinity Cave messes with worldgen, making the world deeper, essentially making the chunks taller, do you think this might have caused Switchy to freak out?

Either way the issue with online play remains. I keep saying Essentials, but it also happens as soon as I open my world to Lan, so it definitely has to do with the way a multiplayer environment is handled or, again, some kind of tick delay.

Dumpling00 commented 1 month ago

@sisby-folk Bit of an ignorant thing to say maybe, but since this seems to be caused by a delay - could it possibly be solved by forcing switchy to save everything, wait a few ticks, then switch over to a character? 'Cause it feels like the tick delay is what causes a desync in the saving of information. Like something gets left behind in the process and that's causing the paste.

I'd much rather have a non-instantenous switch if that means it'll work more consistently.