Commit Graph

2421 Commits

Author SHA1 Message Date
embeddedt
71b444288b
Remove nbt_memory_usage
This will be replaced by more targeted optimizations towards the
most common allocators of duplicate keys. The current implementation
forces every key to be interned which may be redundant in many cases
(e.g. when constants are given to the compound tag)
2025-05-30 22:20:51 -04:00
embeddedt
94271b866b
Add world join profiling 2025-05-30 21:35:52 -04:00
embeddedt
6e591f5ace
Add more sysprops 2025-05-30 21:23:51 -04:00
embeddedt
4802988bbb
Add sysprop to allow using async profiler for launch profiling 2025-05-30 21:18:22 -04:00
embeddedt
292b80cf37
Fix missing bitmask when compressing smaller datums into long 2025-05-19 15:19:46 -04:00
embeddedt
5048e74c79
Do not bypass Ingredient.TagValue#getItems during server resource reload
This breaks KubeJS/CraftTweaker's workarounds for tags not being
available during RecipeManager#apply (even though they become available
right after)

Related: #555
2025-05-19 14:55:50 -04:00
embeddedt
c3086e5249
Remove defensive copy of model location collection in replaceAll
The defensive copy shouldn't be necessary, as the set is effectively
immutable anyways
2025-05-19 12:37:32 -04:00
embeddedt
bb658319cb
Try to use a more optimal Set implementation for filtering 2025-05-19 12:17:50 -04:00
embeddedt
14f1552ad7
Use Guava immutable list to avoid extra internal copying 2025-05-19 11:59:44 -04:00
embeddedt
61c8cfdca6
Slight tweaks to ModelLocationBuilder 2025-05-19 11:30:13 -04:00
embeddedt
af526b9113
Include ModernFix itself in time calculations for dynamic resources 2025-05-19 11:02:07 -04:00
embeddedt
6df33005a7
Fix copy-and-paste mistake in compact unihex logic 2025-05-19 10:24:13 -04:00
embeddedt
e9cb602ab7
Add some universe filters 2025-05-18 22:42:56 -04:00
embeddedt
a13587e139
Fix presizing of model location set & use more efficient string generation logic 2025-05-18 21:55:51 -04:00
embeddedt
6979b56d8c
Merge branch 'unihex' into 1.20 2025-05-18 21:06:09 -04:00
embeddedt
3a2edf7ddd
Attempt to reduce overhead of splitting same path string many times 2025-05-18 21:05:12 -04:00
embeddedt
a643170426
Implement more accurate fix for MC-183518
The game now sleeps precisely till the next tick, rather than still
waking up periodically

Co-authored-by: HaHaWTH <102713261+HaHaWTH@users.noreply.github.com>
2025-05-18 19:10:11 -04:00
embeddedt
4964cccff9
Ensure files in assets/ are not counted as namespaces 2025-05-18 15:36:12 -04:00
embeddedt
82535da861
Replace mixin.feature.disable_unihex_font with mixin.perf.compress_unihex_font
The font still takes up some memory, but less than before
2025-05-15 22:11:58 -04:00
embeddedt
f70fb212f7
Update KubeJS maven to fix build failure 2025-05-15 21:39:43 -04:00
embeddedt
588b56530e
Support clearing model registry in dev for testing purposes 2025-05-15 20:22:29 -04:00
embeddedt
3ad4e2478e
Optimize MultiVariant.resolveParents 2025-05-15 20:21:34 -04:00
embeddedt
c118675369
Fix concurrency issues in vanilla RegistryOps.memoizeLookup 2025-05-15 18:53:47 -04:00
embeddedt
8b0622ff5c
Log when model universe is restricted 2025-05-14 22:19:10 -04:00
embeddedt
900e5786b6
Pre-size the top level model location set to reduce rehashing 2025-05-09 22:17:36 -04:00
embeddedt
2535174e00
Implement advanced caching of ingredient item stacks using soft references
This gives the GC control over when to evict the cache, which combines
the benefits of removing the cache entirely with the speed of keeping it
2025-05-03 14:34:48 -04:00
embeddedt
7398b48345
Patch CoFH Core to not rely on Ingredient.itemStacks 2025-05-02 17:27:56 -04:00
embeddedt
eed320b055
Optimize some methods in Ingredient and remove itemStacks caching 2025-05-01 19:10:18 -04:00
embeddedt
01d2582c44
Sync tag ingredients directly if ModernFix is installed on both sides 2025-05-01 17:14:19 -04:00
embeddedt
536eb03b50
Trigger classloading of Items when deferring blockstate cache rebuild 2025-05-01 15:21:08 -04:00
embeddedt
1b37c9da66
Remove obsolete OBJLoader patch 2025-04-29 18:33:50 -04:00
embeddedt
e253833b68
Use CHM's built-in set instead of newSetFromMap 2025-04-29 18:26:20 -04:00
embeddedt
ae729bcd15
Enable use of FML's unused TracingPrintStream for tracking mod messages on System.out
We implement this ourselves because we need it on 1.20.1 anyway,
it will eventually be implemented upstream in NeoForge, at
which point this feature will be removed:
https://github.com/neoforged/FancyModLoader/issues/277
2025-04-29 11:18:21 -04:00
embeddedt
9be6134073
Remove obsolete resource pack code 2025-04-28 18:55:23 -04:00
embeddedt
59e3b83d74
Default to showing the whole model registry to mods
This should fix many silent incompatibilities that existed with the
original opt-in approach. To my knowledge, there are no remaining
popular mods on 1.20 that forcefully load all models in this event
(by iterating over entrySet and calling getValue unconditionally)
so doing this should be safe. Additional logging is also added
to provide quick insight into what mod(s) have the slowest handling
of this event.
2025-04-28 10:59:49 -04:00
embeddedt
4bdddf1051
Attempt to improve parity/reliability of dynamic_entity_renderers 2025-04-27 20:29:21 -04:00
embeddedt
211e404687
Implement a very primitive datapack function profiler 2025-04-27 19:38:23 -04:00
embeddedt
4cde23f4fe
Rewrite resource pack caching to use a tree 2025-04-27 18:35:28 -04:00
embeddedt
dbb6e4713d
Improve usability of -Dmodernfix.debugReloaders 2025-04-27 18:35:14 -04:00
embeddedt
8c2c33093b
Build creative mode tab search tree on first use
This avoids holding search trees for many creative tabs that will
likely never be searched during gameplay.
2025-04-26 16:15:24 -04:00
embeddedt
63aeef1ba0
Add back datapack reload time tracking during world creation 2025-04-26 12:32:50 -04:00
embeddedt
51c4f3eae8
Use smarter iteration order in model bake event registry
This heavily improves the rate of cache hits when mods are baking
many variants of the same model via iteration over the keys,
as now all the variants will be obtained at once rather than
being retrieved randomly.

Cable Tiers used to take 8 seconds in the event before this change
on a Ryzen 7700X, and is now nearly instant.
2025-04-26 12:06:12 -04:00
embeddedt
455b56749c
Document many mixin options 2025-04-25 21:29:46 -04:00
embeddedt
673851ffbd
Check before casting JEI runtime 2025-04-06 14:21:55 -04:00
embeddedt
20be8d0da3
Fix obfuscation error 2025-04-02 18:58:39 -04:00
embeddedt
967b0c1982
Prevent Forge's crash report analyser from complaining about ModernFix 2025-04-02 18:52:37 -04:00
embeddedt
fcea407708
Memoize creative tab content building per-tab
This should greatly reduce lag spikes experienced when opening
the creative inventory with a mod like EMI installed, as the creative
tabs will not be rebuilt a second time
2025-03-06 19:53:33 -05:00
embeddedt
5168eb63aa
Fix BuildCraft pipes
Related: #516
2025-02-15 15:52:19 -05:00
embeddedt
4a8e0487bc
Prevent crash when server sends invalid palette
Related: #509
2025-01-20 09:35:13 -05:00
embeddedt
e7f86f8687
Modernize toolchain
Now requires Fabric Loader 0.16.10 even on Minecraft 1.20.1
2025-01-19 19:26:55 -05:00