Skip to content

Conversation

@ToCraft
Copy link
Owner

@ToCraft ToCraft commented Nov 15, 2025

This contains all menu optimizations by @FugLong. However, since there is still one error (cited below), the changes are still part of this PR. I hope to implement it as soon as possible.

I can't seem to isolate the entities in the menu so they are static. Anytime the user goes into 3rd person while morphed, or goes near a mob in their list in the world, the real entity takes over the menu entry and shows the mobs anims, rotation, etc. So there are still ways to get menu entries where the mob is facing the wrong way. This doesn't have to do with this branch so we can ignore it I think, but I hope to figure out a solution for this as well at some point.

FugLong and others added 3 commits November 1, 2025 12:20
…sizing

- Add EntityRenderState caching to prevent visual reloading on menu open
- Cache render states with proper scale (1.0F) to avoid double scaling
- Fix slimes and magma cubes by setting size to 1 (smallest variant)
- Disable AI and animations for consistent static rendering
- Create fresh entities each time to avoid state corruption
- Maintain caching benefits while fixing size and animation issues

This eliminates the visual bug where mobs would initially load on default
skeletons and gradually load correct models, taking up to 10 seconds for
long lists of unlocked mobs in creative mode.
@FugLong
Copy link
Contributor

FugLong commented Nov 15, 2025

I'm going to try to fix this later today. May just redo the whole caching system entirely because the current implementation has been nearly impossible to fix.

@FugLong
Copy link
Contributor

FugLong commented Nov 16, 2025

Okay, I've completely refactored the caching and put the code in my fork in the optimize_menu branch. Currently it's all working perfectly but it still requires the user to wait for loading the very first time the menu is opened. Before making a PR I will attempt to make this caching happen even earlier so all menu opens require 0 waiting for the user

@FugLong
Copy link
Contributor

FugLong commented Nov 17, 2025

YO! I got it all working pretty nicely now. Loading is very quick (1-2) seconds for first menu open, instant after that.

#109 has the code, merging into optimize_menu branch

@ToCraft ToCraft marked this pull request as ready for review December 1, 2025 16:49
@ToCraft
Copy link
Owner Author

ToCraft commented Dec 1, 2025

@FugLong Hey! Alright, I just had time to check your new code- it's amazing, thank you! I only fixed that the menu didn't open on the first key press (see b8d5639). I will gladly upload a new release with your fix later today.

@ToCraft ToCraft merged commit 872b8d5 into dev Dec 1, 2025
1 check passed
@ToCraft ToCraft deleted the optimize_menu branch December 1, 2025 17:01
@ToCraft ToCraft restored the optimize_menu branch December 1, 2025 17:02
@ToCraft ToCraft deleted the optimize_menu branch December 1, 2025 17:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants