Commit Graph

653 Commits

Author SHA1 Message Date
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
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
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
3a2edf7ddd
Attempt to reduce overhead of splitting same path string many times 2025-05-18 21:05:12 -04:00
embeddedt
588b56530e
Support clearing model registry in dev for testing purposes 2025-05-15 20:22:29 -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
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
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
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
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
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
5168eb63aa
Fix BuildCraft pipes
Related: #516
2025-02-15 15:52:19 -05:00
embeddedt
64a427fa62
Add LDLib connected textures integration 2024-12-26 14:51:20 -05:00
embeddedt
0b8eddbf25
Replace RS integration with generic model registry emulation
Fixes patterns not rendering

Related: #499
2024-12-25 15:45:25 -05:00
embeddedt
631b3eddfb
Detect Redirector and show warnings 2024-12-23 13:56:54 -05:00
embeddedt
14a89f94a6
Backport CTM mixin from 1.21
Related: #487
2024-12-12 19:28:01 -05:00
embeddedt
0f3bfd894e
Fix Furniture Mod hedges rendering in fast mode with dynres on 2024-11-02 13:38:31 -04:00
embeddedt
8e1270dcdc
Skip filtering blockstates if client is not in world 2024-09-22 13:47:35 -04:00
embeddedt
c0eaf29cb5
Remove mod file scan data deduplicator
This has no effect on newer FML versions since fields are now records
2024-08-06 20:27:25 -04:00
embeddedt
edddba6991
Fix searching in latest JEI 2024-07-16 18:58:21 -04:00
embeddedt
7348737878
Emulate entrySet on dynamic resources model registry
Related: #429
2024-07-07 11:26:06 -04:00
embeddedt
fd42c5b129
Disable classload hack as it causes the same issue it tried to solve
Related: #431
2024-07-07 09:13:57 -04:00
embeddedt
792f9790ea
Improve F3+T speed when in world 2024-06-08 22:12:30 -04:00
embeddedt
c7befd1913
Switch to TR mixin remapping, make our custom AP incremental 2024-06-05 19:43:09 -04:00
embeddedt
03e758a037
Fix launch crash on Forge 47.3.1 2024-06-04 19:39:52 -04:00
embeddedt
c15b95e2be
Fix mixin.perf.resourcepacks overwriting Fusion patches
Related: #392
2024-04-13 22:26:43 -04:00
embeddedt
8a247bd8aa
Merge 1.19.2 into 1.20 2024-03-27 12:15:12 -04:00
embeddedt
a198bfaecd
Merge 1.18 into 1.19.2 2024-03-27 12:15:11 -04:00
embeddedt
c413a70c56
Merge 1.16 into 1.18 2024-03-27 12:15:09 -04:00
embeddedt
66abdcd9a7
Null-check config keybind 2024-03-27 12:14:58 -04:00
embeddedt
3ad7a8ce9d
Merge 1.19.2 into 1.20 2024-03-20 21:38:15 -04:00
embeddedt
b916ef5ae9
Update mixin for 1.19 renames 2024-03-20 16:52:34 -04:00
embeddedt
9c2fbfcae6
Merge remote-tracking branch 'origin/1.18' into 1.19.2 2024-03-20 16:45:55 -04:00
embeddedt
1814bd3e1f
Reduce overhead of the PotentialSpawns event 2024-03-20 16:39:24 -04:00