Commit Graph

2453 Commits

Author SHA1 Message Date
embeddedt
a7622f58ae
Run formatter 2025-12-07 20:36:07 -05:00
embeddedt
67814db6ad
Mitigate dynres cache thrashing for blocks with more than 10,000 states
The previous implementation kept trying to load the models for all
states at once in this scenario, which would cause thrashing as
most of the loads would be thrown out. The new implementation
limits how many models it will load at a time, but still tries
to batch as much as possible
2025-12-07 20:26:42 -05:00
embeddedt
8959c2ff91
Remove dynamic_sounds
This option is unlikely to offer substantial memory savings,
especially when considering that sounds are located off-heap
(meaning the OS should be able to effectively swap out the
unreferenced sound pages to disk). It does not seem worth
the effort to hack this into a game not designed for sounds
to unload at runtime.
2025-11-08 11:49:58 -05:00
embeddedt
a6eb99d23c
Spotless 2025-11-01 20:22:53 -04:00
embeddedt
fd46baae21
Backport model compat fix from 1.21
ff6b687d5a

Related: #606
2025-11-01 20:18:17 -04:00
embeddedt
273bab7856
Rewrite dynamic_sounds to consider sound duration when caching
Related: #594
2025-11-01 19:52:56 -04:00
embeddedt
8133198cc2
Enable worldgen_allocation by default 2025-08-22 20:25:27 -04:00
embeddedt
25976f3b87
Disable LazyYCondition logic in situations where it has no effect
This saves roughly 10% of time in surface rule evaluation in some
tests.

Closes #585

Co-authored-by: Voidsong Dragonfly <voidsongdragonfly@pm.me>
2025-08-22 20:25:12 -04:00
embeddedt
f71277eb64
Memoize VanillaRegistres.createLookup 2025-08-09 20:44:08 -04:00
embeddedt
b30b319214
Deduplicate ResourcefulLib Highlight objects 2025-08-09 20:43:49 -04:00
embeddedt
e411f11c0c
Implement Forge ingredient invalidation correctly 2025-08-02 15:29:41 -04:00
embeddedt
e30a7fccf2
Add global properties file
Not populated by default. User must create
`global/modernfix-global-mixins.properties` in the standard global
.minecraft folder for their OS
2025-08-01 18:59:13 -04:00
embeddedt
12a0414f61
Do not override user-specified max.bg.threads 2025-08-01 18:41:55 -04:00
embeddedt
44322a7d07
Tweak narrator mixin 2025-08-01 18:40:40 -04:00
embeddedt
8d4a7c3374
Mark Spark worker as daemon thread 2025-08-01 18:34:53 -04:00
DerCommander323
29c1a479a4
Add mixin.feature.suppress_narrator_stacktrace to prevent some log spam on Linux (#590) 2025-08-01 18:29:20 -04:00
embeddedt
ee6489fb69
Make mixin.perf.thread_priorities limit background thread count as well 2025-07-27 14:55:34 -04:00
embeddedt
87c977a3e6
Patch concurrency issue in ForgeRegistryTagManager 2025-07-16 21:50:00 -04:00
embeddedt
54e55e7534
Don't specify ordering for JEI dependency 2025-07-13 19:15:21 -04:00
embeddedt
65ab37b819
Fix reobfuscation issue 2025-07-13 14:31:58 -04:00
embeddedt
873e3bd676
Fix race condition when mods create tags on different threads 2025-07-12 22:22:58 -04:00
embeddedt
6b37051980
Fix faster_ingredients bypassing defensive copy of ItemValue
Kudos to @nutant233 for noticing this
2025-07-04 18:42:39 -04:00
embeddedt
cf5c81f7e2
Hotfix: disable ingredient_item_deduplication by default 2025-07-03 08:08:03 -04:00
embeddedt
9d280f51df
Remove tterrag maven 2025-07-01 20:48:02 -04:00
embeddedt
f26ed86973
Disable smart ingredient sync with CraftTweaker installed
Related: #570
2025-06-16 19:49:46 -04:00
embeddedt
38f1370d59
Do not register smart ingredient sync channel if option is off
Related: #570
2025-06-16 19:21:25 -04:00
embeddedt
213e0ceb9a
Fix incorrect kick logic 2025-06-05 22:07:09 -04:00
embeddedt
7688fc2b16
Implement Java 17-compatible DFU cache blaster 2025-06-05 21:35:21 -04:00
embeddedt
20b3d8bffa
Do not apply optimization to subclasses of ItemValue 2025-06-05 18:08:19 -04:00
embeddedt
2e0ec6ae9e
Add ingredient item value ItemStack deduplication
Inspired by AllTheLeaks, but done slightly differently to hopefully
be compatible with more mods
2025-06-04 22:53:28 -04:00
embeddedt
a170f072ff
Invalidate memoization for non-category creative tabs when categories are rebuilt 2025-06-02 19:15:20 -04:00
embeddedt
e7542afd1c
Disable mixin.perf.faster_ingredients with VMP installed
Related: #565
2025-06-01 15:24:29 -04:00
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