Commit Graph

420 Commits

Author SHA1 Message Date
embeddedt
fead01b142
Update LazyDFU warning 2023-04-30 19:17:04 -04:00
embeddedt
c561d818f3
Implement improved version of LazyDFU (having it installed is still beneficial)
Now DFU classes are not loaded until the first time DFU is actually
needed to update something. This saves quite a bit of RAM.

This is a better version of dedup_blockstate_flattening_map so the
latter is removed.
2023-04-30 19:09:56 -04:00
embeddedt
7039bcada7
Reintroduce separate root listing list 2023-04-29 21:24:06 -04:00
embeddedt
e7a1ce74cc
Move pack caching logic into separate version-independent class 2023-04-29 20:35:18 -04:00
embeddedt
fe0b82e6da
Fix RemoveBlockGoal permaloading chunks, remove START ticket entirely 2023-04-29 17:33:10 -04:00
embeddedt
609da0f545
Add option to remove spawn chunks 2023-04-29 16:50:02 -04:00
embeddedt
21177ea0e4
Fix mixin crash 2023-04-29 16:36:10 -04:00
embeddedt
5ac369acb8
Fix some items not rendering in inventories 2023-04-29 14:06:53 -04:00
embeddedt
dc56d51f11
Split registry rewrite into separate off-by-default option
This needs more testing
2023-04-29 13:19:02 -04:00
embeddedt
99df4cbbe2
Add dynamic model support to Refined Storage 2023-04-29 11:26:01 -04:00
embeddedt
14f98e358b
Load every provided blockstate file, not just the first one 2023-04-29 11:17:28 -04:00
embeddedt
960dd4074e
Clean up scanner + abstract pack scanning to separate function 2023-04-29 09:38:13 -04:00
embeddedt
9b50a50bad
Allow mutating CanonizingStringMap.keySet() 2023-04-29 09:22:55 -04:00
embeddedt
e4ef3103cc
Fix CTM crash 2023-04-29 09:17:41 -04:00
embeddedt
c0c789f29c
Fix registry replacement 2023-04-28 22:57:33 -04:00
embeddedt
6665db3a69
Only use the fallback path for models/blockstates not discovered yet 2023-04-28 22:34:44 -04:00
embeddedt
12a7483d4d
Add large registry test option 2023-04-28 22:06:35 -04:00
embeddedt
39e9dfab99
Use getResources on resource packs we can trust 2023-04-28 22:06:21 -04:00
embeddedt
8b71c823c4
Unbox IDs 2023-04-28 21:40:22 -04:00
embeddedt
c09c4ccf68
Optimize clear() 2023-04-28 21:33:57 -04:00
embeddedt
433db3409a
Continue optimizing 2023-04-28 21:30:51 -04:00
embeddedt
599bdee173
Refactor registry data into a custom object 2023-04-28 19:22:38 -04:00
embeddedt
3f24f50744
Initial version of fast registry 2023-04-28 19:14:31 -04:00
embeddedt
b9cb33b1ef
Dynamically generate item model location cache 2023-04-28 17:27:33 -04:00
embeddedt
77e9309d2b
Registry optimizations 2023-04-28 17:14:09 -04:00
embeddedt
4195b15946
Don't waste time interning paths we are checking exist 2023-04-28 15:53:51 -04:00
embeddedt
469c564c1b
Suppress model bakery errors if there are too many 2023-04-28 15:53:39 -04:00
embeddedt
10672b0214
Config screen 2023-04-28 14:59:18 -04:00
embeddedt
f85d19340b
Fix closing font textures that were cached
Fixes #64
2023-04-28 10:52:11 -04:00
embeddedt
006c487b86
Optimize SortedArraySet.removeIf 2023-04-28 09:53:43 -04:00
embeddedt
a0ceaa4dac
Fix patches being nonfunctional 2023-04-27 21:36:32 -04:00
embeddedt
da6e9dc075
Port two chunk system patches from Paper 2023-04-27 20:48:53 -04:00
embeddedt
c861c99c79
Speed up FontManager loading 2023-04-27 12:03:38 -04:00
embeddedt
934da3660f
Fix debug mixin being checked in 2023-04-26 19:16:07 -04:00
embeddedt
91d1cb3962
Bypass slow PngInfo class during texture loading
Thanks to @Asek3 for pointing out this bottleneck
2023-04-26 19:11:39 -04:00
embeddedt
a4a19be545
Avoid using replaceAll 2023-04-26 13:58:25 -04:00
embeddedt
d356e1ece4
Optimize NBT memory usage 2023-04-26 13:42:53 -04:00
embeddedt
110362b85c
Fix log message always saying 0 items were cleared 2023-04-25 21:34:31 -04:00
embeddedt
56aed7284c
More null checks 2023-04-25 21:28:31 -04:00
embeddedt
c684cccf74
Simplify book deduplication 2023-04-25 21:20:30 -04:00
embeddedt
d86344f309
Add logic to clear air items of NBT from Patchouli book registry 2023-04-25 21:05:02 -04:00
embeddedt
e843f8ed6d
Clear KubeJS recipe event lists since mods can hold onto the event object 2023-04-25 19:29:26 -04:00
embeddedt
e46910f3c1
Add Opticrash detection 2023-04-25 12:03:19 -04:00
embeddedt
e771af2330
AE2 model wrapping support 2023-04-25 11:33:26 -04:00
embeddedt
a3e7435c61
Correctly emulate nullishness of baked top level model map 2023-04-25 11:10:20 -04:00
embeddedt
863fbaf3a4
Remove a lot of now dead code 2023-04-24 16:56:27 -04:00
embeddedt
4c36f04f56
Fix the Minecraft window teleporting back to the center of the screen
when early load finishes
2023-04-24 11:49:56 -04:00
embeddedt
8cdee4826e
Disable boost worker count when Smooth Boot is installed 2023-04-24 10:50:01 -04:00
embeddedt
fdbf8d621e
Fix additional use of backgroundExecutor in dynamic resources 2023-04-24 10:49:32 -04:00
embeddedt
ee8eb02e6d
Replace mod work manager queue during vanilla bootstrap
instead of in mixin plugin
2023-04-24 10:46:17 -04:00
embeddedt
86629e7773
Move resource reloading to dedicated executor
Allows benefiting from Smooth Boot in-game (as intended)
while not slowing down launch
2023-04-24 10:35:22 -04:00
embeddedt
66d1faa7e3
Fix another logic race that could cause missing models 2023-04-22 12:27:31 -04:00
embeddedt
5958e10eff
Fix behavior for contained paths with non-vanilla PackTypes 2023-04-21 13:40:21 -04:00
embeddedt
9e95be14f3
Ignore non-vanilla PackTypes when caching resources 2023-04-21 13:35:12 -04:00
embeddedt
36664cb23a
Don't waste time parsing UVs when performing initial model load 2023-04-20 20:45:21 -04:00
embeddedt
33d3f0e537
Use SRG names 2023-04-20 20:19:52 -04:00
embeddedt
45225a580f
Clear chunk map from integrated server worlds after server stops 2023-04-20 20:17:55 -04:00
embeddedt
a0f0600184
Make sure GC can actually happen 2023-04-20 20:02:32 -04:00
embeddedt
21dcf9d3df
Make watchdog thread not hold on to server for 60 seconds 2023-04-20 19:59:58 -04:00
embeddedt
d10ff8a24e
Ensure cached resources are cleared when connecting to multiplayer 2023-04-20 19:55:41 -04:00
embeddedt
701def339f
Fix crash when null type references are interned 2023-04-20 19:20:15 -04:00
embeddedt
a2d0984078 Add ItemColors mixin as well
Related: #59
2023-04-19 16:09:40 -04:00
embeddedt
856c3cbc11
Deduplicate some ModFileScanData 2023-04-19 09:56:35 -04:00
embeddedt
f27d94cf26
Disable class info clearing by default and only clear non-mixin entries 2023-04-18 22:24:48 -04:00
embeddedt
74c3f0ff90
Also clear ClassInfo cache after server starts 2023-04-18 22:17:32 -04:00
embeddedt
e5028535e9
Clear mixin ClassInfo cache when load finishes 2023-04-18 22:16:14 -04:00
embeddedt
201c2f3b51
Add off-by-default option to disable the DFU maps for flattening 2023-04-18 22:02:06 -04:00
embeddedt
7df692da1a Backport Starlight patch to lazily init emptiness maps 2023-04-17 18:23:30 -04:00
embeddedt
274c41d637
Allow unloading unused structures 2023-04-16 20:54:41 -04:00
embeddedt
ad7bc8829b
Add eviction to some DFU caches 2023-04-16 20:27:42 -04:00
embeddedt
1602d3352f
Fix crash with some more types of empty paths 2023-04-16 14:38:11 -04:00
embeddedt
0af09b7e27
1.19 does not allow changing RenderTypes at runtime 2023-04-16 14:37:51 -04:00
embeddedt
c8523b3844
Incrementing the index is important 2023-04-16 13:31:01 -04:00
embeddedt
3497adfa6d
Bugfixes 2023-04-16 13:21:10 -04:00
embeddedt
f8c5c50ce4
Improve speed of cache building 2023-04-16 13:15:13 -04:00
embeddedt
0f3c701d2a
Prevent missing options from crashing the game 2023-04-16 12:55:52 -04:00
embeddedt
6f176ba86d
Remove reference to nonexistent config option 2023-04-16 12:55:01 -04:00
embeddedt
ea86bc6850
More aggressive interning of cached path components 2023-04-16 12:48:16 -04:00
embeddedt
3922c3ec26
Reduce memory usage of dynamic CTMPackReloadListener 2023-04-16 11:55:00 -04:00
embeddedt
f36a8f4266
Clear ObjectHolder Throwable fields after registry events fire 2023-04-16 11:39:54 -04:00
embeddedt
61af88a2ab
Improve memory usage of resource pack cache 2023-04-16 09:35:31 -04:00
embeddedt
9225962983
Invalidate material cache if the texture map changes on a model 2023-04-15 21:26:49 -04:00
embeddedt
58d066d0db
Use high-priority mixin with injects instead of overwrites for
dynamic resources
2023-04-15 12:00:03 -04:00
embeddedt
61710dbc85
Add missing import
Don't edit things from the command line ;)
2023-04-13 13:27:47 -04:00
embeddedt
c7fd6c1393
Fix AT map not actually initializing types set 2023-04-13 13:26:45 -04:00
embeddedt
c4fbde015e
Use reflection instead of mixins for SyncExecutor patch 2023-04-13 13:00:43 -04:00
embeddedt
9443c41273
Optimize access transformers 2023-04-13 12:01:41 -04:00
embeddedt
e977fcdfce
Improved chunk deadlock detection system + patch Valhelsia Structures
when installed
2023-04-12 19:06:40 -04:00
embeddedt
10149e9f87
Add integrated server watchdog 2023-04-12 16:05:08 -04:00
embeddedt
3b56f00b82
Fix world load freezing if mods access the previous server world 2023-04-12 14:42:11 -04:00
embeddedt
d709335ac2
Fetch a model the vanilla way if it fails to be present in
the lookup cache when gathering textures
2023-04-11 21:31:55 -04:00
embeddedt
87f74bc1b9
Skip calling stateToModelLocation 2023-04-11 11:12:13 -04:00
embeddedt
f1d23f9a92
Avoid loading every permutation of a multipart model at once
Fixes the 5 second lag spike for mods like Pedestals on 1.19+
2023-04-11 10:11:10 -04:00
embeddedt
a4e6522c52 Rewrite model material gathering to use blockstate files 2023-04-10 19:25:01 -04:00
embeddedt
6374d90d4a Properly hold onto unbaked models as they are loaded 2023-04-10 15:58:12 -04:00
embeddedt
5ccdb4c165 Don't count render ticks until recipes and tags are sent 2023-04-10 11:49:12 -04:00
embeddedt
2889a4e39b Move DynamicModelBakeEvent off modloading bus
The modloading bus insists on logging every event that is fired
which is very laggy
2023-04-10 10:43:24 -04:00
embeddedt
c00b984dae Say that models are always present 2023-04-10 10:30:44 -04:00
embeddedt
af85a4293a Add compat for SuperMartijn642CoreLib 2023-04-10 10:02:15 -04:00
embeddedt
c010d700a8
Make entity ID syncer not crash if a class can't be loaded
Related: #55
2023-04-10 08:00:50 -04:00
embeddedt
882f4832df
Allow concurrent retrieval of models from the cache 2023-04-09 14:03:32 -04:00
embeddedt
e5cd9f57b5
CTM support 2023-04-09 13:52:40 -04:00
embeddedt
8937ca020d
Add ModelBakeEvent alternative for dynamic models 2023-04-09 12:48:00 -04:00
embeddedt
a6d924535e
Fix KubeJS resources not being scanned for textures 2023-04-09 12:29:47 -04:00
embeddedt
a2af0cf835
Add blockstate compression optimization (off by default for mod compat) 2023-04-08 22:15:32 -04:00
embeddedt
9ab6bc83b8
Fix debug overlay leaking chunks from the last world 2023-04-08 21:12:21 -04:00
embeddedt
d2e2040ce4
Reduce allocation rate from biome zoomer 2023-04-08 20:28:48 -04:00
embeddedt
af731b336e
Clear memory reserve 2023-04-08 20:24:34 -04:00
embeddedt
1796d80d40
Make ModelLocationCache more low-memory friendly 2023-04-08 20:01:40 -04:00
embeddedt
775bc5f027
Use ImmutableMap for resource finder 2023-04-08 19:13:21 -04:00
embeddedt
b20705a4c4
Use ImmutableMap for model location cache since it never changes 2023-04-08 19:12:08 -04:00
embeddedt
395e14ba9b
Fix leaking mixin injectors 2023-04-08 19:08:03 -04:00
embeddedt
e4d3ffbac1
Don't keep Interner instance around after collecting resources 2023-04-08 18:40:50 -04:00
embeddedt
e724c4dfb1
Strengthen exception when parsing models 2023-04-08 17:28:17 -04:00
embeddedt
4f35a6cda3
Make material gatherer resilient to JSON errors 2023-04-08 17:08:35 -04:00
embeddedt
26d76de7ef
Dynamic model loading 2023-04-08 17:01:16 -04:00
embeddedt
3a8bc41dd4
Fix mixin warnings 2023-04-07 19:03:00 -04:00
embeddedt
4dd6b7641e
Fix https://github.com/refinedmods/refinedstorage/issues/2636
Mixin version of https://github.com/refinedmods/refinedstorage/pull/3435
2023-04-07 18:54:54 -04:00
embeddedt
304fd05955
Clean up log messages 2023-03-26 19:30:10 -04:00
embeddedt
bb9201c58c
Add some mixins to speed up dev time 2023-03-26 18:20:57 -04:00
embeddedt
b3449a2d63
Disable resource finder log 2023-03-26 18:20:47 -04:00
embeddedt
f8d17ba3ab
Disable datapack reload elision if TaC is installed
Related: #46
2023-03-26 15:25:17 -04:00
embeddedt
c37d91e476
Avoid fetching key state on background threads 2023-03-26 09:17:03 -04:00
embeddedt
5e81a49dc8 Don't use cached server resources if they got closed somehow
Related: #46
2023-03-24 10:50:47 -04:00
embeddedt
b623b3fa96 Fix Lightspeed incompatibility
Fixes #43
2023-03-21 09:20:35 -04:00
embeddedt
a4e16704a3 Synchronize on public class to prevent obscure crashes in some cases 2023-03-21 09:16:57 -04:00
embeddedt
0f48165b15
Remove extra log message 2023-03-19 17:48:58 -04:00
embeddedt
5167f81f1f
Cache JEResources villagers 2023-03-19 17:48:58 -04:00
embeddedt
00d0885245
Build blockstate cache on-demand instead of using a background thread
Should also hide incompatibility with buggy block impls. like Dynamic Trees
2023-03-19 17:48:58 -04:00
embeddedt
38a4776626 Fix rare structure manager crash 2023-03-13 14:39:43 -04:00
embeddedt
4d8537ee4f
Tweak event used to detect main menu appearing, should fix game load not being measured 2023-03-11 11:50:32 -05:00
embeddedt
9eabaac35a
Add system to retry larger atlas sizes 2023-03-11 11:29:30 -05:00
embeddedt
1b5df63eae
Add debug log when stitcher fails 2023-03-11 11:13:07 -05:00
embeddedt
94bc711008
Rewrite atlas size calculation logic and re-enable fast texture stitching 2023-03-11 09:38:13 -05:00
embeddedt
14e266288a
Cache BlockModelShaper.statePropertiesToString 2023-03-11 09:38:06 -05:00
embeddedt
6a7ca1e518
Remove unnecessary Files.exists call in ModFileResourcePack.getResource() 2023-03-10 20:14:11 -05:00
embeddedt
519e9d40f8 Turn off two features when incompatible mods are present
Fixes BetterEnd crash
Fixes #35
2023-03-07 09:38:54 -05:00
embeddedt
50b11b0e1f Turn off faster texture stitching by default, has random bugs 2023-03-06 13:06:55 -05:00
embeddedt
cb23ee5a54 Add debug tool for weird crashes, off by default 2023-03-06 13:06:15 -05:00
embeddedt
7a2b57221e Return to baking models on the main thread
Mods... as usual.
2023-03-06 09:12:04 -05:00
embeddedt
5df695cbbb
Add YUNG's Better Strongholds compat 2023-03-04 22:14:35 -05:00
embeddedt
1c2a2c65ad
Fix some bugs 2023-03-04 19:21:49 -05:00
embeddedt
6d7a450ec8
Modify branding control mixin priority 2023-03-04 15:05:24 -05:00
embeddedt
1c9935e298
Use MethodHandles to select LWJGL 3.3 methods if needed 2023-03-04 10:36:11 -05:00
embeddedt
a54e7b831a
Improve compatibility of ID desync fix, and add Roadrunner support 2023-03-04 09:10:12 -05:00
embeddedt
84ba47f174
Fix compatibility with Performant 2023-03-03 21:43:32 -05:00
embeddedt
010de8c30f
Mark branding mixin as not required 2023-03-03 21:20:02 -05:00
embeddedt
0cf089febe Skip entity ID sync in singleplayer 2023-03-02 16:11:15 -05:00
embeddedt
e8311d0b95 Fix Twilight Forest CME during game startup 2023-03-02 16:04:03 -05:00
embeddedt
ce1462efd1 Add system to detect and correct SynchedEntityData ID mismatches
Should fix weird stacktraces being thrown when mods like Citadel
and Caves and Cliffs Backport are installed together
2023-03-02 15:53:00 -05:00