embeddedt
b26ab375b5
Merge common & forge projects, replace Arch Loom with MDG
2025-12-26 18:13:42 -05:00
embeddedt
d64a1c760b
Fix compile errors
2025-12-26 16:16:15 -05:00
embeddedt
555213714f
Delete more old code
2025-12-26 16:10:07 -05:00
embeddedt
7f27141a16
Remove more old code
2025-12-26 15:53:26 -05:00
embeddedt
a7a9aac23a
Begin cleaning up a large volume of code
2025-12-26 15:37:32 -05:00
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
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
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
38f1370d59
Do not register smart ingredient sync channel if option is off
...
Related: #570
2025-06-16 19:21:25 -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
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