VideoGameSmash12 / HotbarsPlus

Get more use out of your saved hotbars!
MIT License
10 stars 2 forks source link

[enhancement] Load NBT in the background #1

Open JoshuaVandaele opened 3 years ago

JoshuaVandaele commented 3 years ago

Currently, when we load a NBT file which has a lot of NBT data, the game can freeze for a few seconds.

I'm suggesting overwriting the vanilla way of loading the file for it to not freeze the whole game. Maybe even add a little loading bar in the inventory between the text and the left arrow.

VideoGameSmash12 commented 3 years ago

You can use the [ and ] keys to navigate through files without causing lagspikes, though opening the inventory afterwards will still cause a lagspike.

The mod tries to be as close to vanilla as possible so it modifies the existing implementation of hotbar loading to accommodate for it. I feel like overriding it would break other mods that might use the hotbar system.

JoshuaVandaele commented 3 years ago

"I feel like overriding it would break other mods that might use the hotbar system." This is a valid concern, however, I've rarely seen mods mess with the hotbar system. This is your call, as I imagine it could require quite a bit of work

VideoGameSmash12 commented 3 years ago

This is a valid concern, however, I've rarely seen mods mess with the hotbar system. This is your call, as I imagine it could require quite a bit of work

You would be correct - To me it's not worth the effort and could cause problems even beyond what I've already mentioned. However, your suggestion would be a good idea. However this most likely affects vanilla Minecraft too, so it might actually be worth taking it up to Mojang themselves to do this kind of thing.

VideoGameSmash12 commented 2 years ago

I have decided to take a look at this again as a priority. To help speed things up a bit, in v2 the mod automatically caches saved hotbars into memory for faster hot-swapping, but in addition I plan to do something like this where it loads the hotbar NBT files in the background on another thread.