Commit Graph

296 Commits

Author SHA1 Message Date
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
embeddedt
db95e37d22
Fix MC-218112 2023-03-01 20:03:47 -05:00
embeddedt
cc79bf7274 Allow JEPB and JEResources to use integrated server resources 2023-03-01 15:47:53 -05:00
embeddedt
b9050368bc Reduce verbosity of some log messages 2023-03-01 15:47:53 -05:00
embeddedt
9902b97b1d Warn if LazyDFU is not installed 2023-02-27 20:58:46 -05:00
embeddedt
fca7c9f7ef Skip reloading server resources if switching worlds and the datapack
order didn't change
2023-02-27 12:17:54 -05:00
embeddedt
c27f189154 Turn off faster singleplayer load by default for now 2023-02-27 09:32:33 -05:00
embeddedt
d9b2a880bb Handle mods that request paths with double slashes 2023-02-27 09:31:16 -05:00
embeddedt
11c04fb668
Replace existing DataVersion in structure with new version 2023-02-25 20:58:25 -05:00
embeddedt
c883b0953e
Include hash in warning message 2023-02-25 20:43:09 -05:00
embeddedt
4024bf03ad
Warn if structure runs through DFU 2023-02-25 20:38:29 -05:00
embeddedt
5c853a7259
Cache upgraded structures instead of running them through DFU every time
Fixes https://github.com/TelepathicGrunt/RepurposedStructures/issues/264
and similar issues
2023-02-25 20:28:58 -05:00
embeddedt
314a1e27cc
Cache stronghold locations instead of recomputing them on every world load 2023-02-25 18:51:27 -05:00
embeddedt
b6497cee4e
Show branding on F3 2023-02-24 18:14:21 -05:00
embeddedt
8702ff2971
Add branding and revamp version control 2023-02-24 17:53:08 -05:00
embeddedt
7f018c1ff7
Minor optimization to ForgeRegistry.validateContent 2023-02-24 13:17:44 -05:00
embeddedt
7868bd90ee
Fix exception thrown in dev 2023-02-22 15:39:16 -05:00
embeddedt
084b30e089
Latch JEI and blockstate threads until the world finishes loading
These processes are not necessary to get into the game, and so
we want to devote all CPU time to essential tasks like logging in
and loading chunks.
2023-02-22 13:07:38 -05:00
embeddedt
3baace55a8
Avoid lazily baking multiparts and multivariants
Some mods use instanceof checks and so the correct class needs to
be present.

Fixes #24
2023-02-22 12:34:47 -05:00
embeddedt
c258bba5ec
Minor code cleanup 2023-02-22 11:44:56 -05:00
embeddedt
145213afa8
Minor bugfixes to faster singleplayer load 2023-02-21 22:51:38 -05:00
embeddedt
2b7d79f4a7
Ensure configurability of faster singleplayer load works 2023-02-21 22:35:45 -05:00
embeddedt
a4ce490963
Fix main thread not actually blocking until JEI thread finishes 2023-02-21 22:35:29 -05:00
embeddedt
bc5b85efcc
Move 441 chunk loading to after join game packets are sent on integrated server 2023-02-21 22:24:50 -05:00
embeddedt
cb6399e820
Port faster texture stitching by SuperCoder79 2023-02-21 11:26:46 -05:00
embeddedt
d7d1ba0993
Make client-only injection not required
Fixes #23
2023-02-20 12:11:46 -05:00
embeddedt
aa963f4d1a
Allow COW in StaticTagHelper
Seems that some mods bind tags at runtime. This is a hack but it
should fix the persistent CME I get when launching ATM6
2023-02-20 11:46:36 -05:00
embeddedt
c7f2d41695
More KubeJS optimizations 2023-02-20 11:25:39 -05:00
embeddedt
02230095b7
Ignore exceptions while building blockstate cache 2023-02-20 11:25:22 -05:00
embeddedt
5cd80ebd27
Use a custom ForkJoinPool so that mod classes load correctly 2023-02-20 10:23:46 -05:00
embeddedt
df7cd20e59
Clean up imports 2023-02-20 09:57:34 -05:00
embeddedt
a6e736e8af
Remove redundant optimization 2023-02-20 09:57:15 -05:00
embeddedt
5b852f9531
Remove debug logging 2023-02-19 22:44:35 -05:00
embeddedt
613364ce91
Further KubeJS optimization 2023-02-19 22:40:59 -05:00
embeddedt
4d397361e2
Remove special sauce in blockstate handling
Now that the cache is rebuilt off-thread, there is little to gain
from parallelizing these few blocks
2023-02-19 22:19:55 -05:00
embeddedt
9b9b13d24b
Add KubeJS optimizations 2023-02-19 22:19:20 -05:00
embeddedt
1f1bf4a442
Guard against mods that don't support concurrency on resource packs
Should fix #22
2023-02-19 20:12:49 -05:00
embeddedt
74a727d335
Add ability to use vanilla resource reload profiler 2023-02-19 20:05:09 -05:00
embeddedt
d2d29f14cb
Prevent Nashorn from defining anonymous classes if Java is too new
Solar Flux Reborn now works on Java 17
2023-02-19 18:44:21 -05:00
embeddedt
30bcf66c35
Mark structure manager field as immutable 2023-02-18 13:12:33 -05:00
embeddedt
a5d91fb4fb
Don't print interruption message if thread finished 2023-02-17 21:47:37 -05:00
embeddedt
312fb4c6f5
Add fix for Java 11+ worldgen crash 2023-02-17 21:46:31 -05:00
embeddedt
8f971a2c84
Backport Async Locator 2023-02-17 21:39:59 -05:00
embeddedt
b347c051bf Add JEI loading indicator
Fixes #13
2023-02-16 14:27:38 -05:00
embeddedt
14f91798af remove remaps 2023-02-15 18:59:43 -05:00
embeddedt
5c15e27c7d Remove unneeded remap 2023-02-15 18:54:59 -05:00
embeddedt
381f6a5f1e Fix JEI mixins 2023-02-15 18:10:42 -05:00
embeddedt
fa79480576
Remove priority config
It's unlikely anyone needs to adjust this.
2023-02-15 09:05:04 -05:00
embeddedt
cfbe21d72f
Remap to full Mojmap (including classnames)
Mod does not yet run in dev
2023-02-14 21:59:30 -05:00
embeddedt
d06ba2b7bf Make DummySearchTree extend SearchTreeReloadable for compatibility 2023-02-14 15:27:57 -05:00
embeddedt
1cdd9fdaaa Avoid iterating over a set being modified
Fixes #19
2023-02-14 09:41:48 -05:00
embeddedt
7742a9507f Bake models with custom geometry at startup time
Fixes #18 (not the way I want though)
2023-02-13 14:55:32 -05:00
embeddedt
318afbe3bf
Automatically detect mods that need models baked in advance 2023-02-12 10:25:58 -05:00
embeddedt
02d9311040
Minor performance improvements to model handling 2023-02-12 09:38:32 -05:00
embeddedt
fe555df442
Add system to bake incompatible models AOT
Fixes #16
2023-02-11 20:22:29 -05:00
embeddedt
99758ba9de
Ensure previous rebuild thread reference is cleared 2023-02-11 12:27:20 -05:00
embeddedt
af63b3ed11
Suppress exception stacktraces for datapack reloads by default 2023-02-11 12:26:45 -05:00
embeddedt
cc77da1027
Fire model bake events on worker thread 2023-02-11 12:08:17 -05:00
embeddedt
7dcce90a82
Lie to model event handlers about some flags to speed up loading 2023-02-11 11:50:01 -05:00
embeddedt
327813fa91
Rewrite faster_baking optimization, now defers baking to first use 2023-02-11 10:30:19 -05:00
embeddedt
ebafc9a0cc
Remove log message 2023-02-11 09:32:11 -05:00
embeddedt
928d2e3f02
Tweak model loading 2023-02-11 09:31:28 -05:00
embeddedt
80a4585efd
Do not deserialize model JSONs in parallel
Some Forge model loaders attempt to read more models while
deserializing, which causes issues
2023-02-09 22:01:32 -05:00
embeddedt
08fd01c09f More improvements to async model loading, but still crashes sometimes 2023-02-09 14:33:06 -05:00
embeddedt
eb99ce47d8 Measure vanilla bootstrap time 2023-02-09 10:44:35 -05:00
embeddedt
611a8e18cb Add patch for Netty packet leak
Fixes https://github.com/embeddedt/ModernFix/issues/15
Related:
https://github.com/EnigmaticaModpacks/Enigmatica6/issues/4469
https://github.com/MinecraftForge/MinecraftForge/pull/8181
https://github.com/MinecraftForge/MinecraftForge/pull/8042
2023-02-09 10:03:37 -05:00
embeddedt
6ebc3bbe03 Implement parallel baking for vanilla models 2023-02-08 15:20:07 -05:00
embeddedt
0111a8e2ec Improve reliability of async blockstate rebuild logic 2023-02-08 14:02:35 -05:00
embeddedt
ae796f2386 Revert unfinished change 2023-02-08 13:58:07 -05:00
embeddedt
3d7422496e Fix occasional CME when rebuilding blockstate cache 2023-02-08 09:56:17 -05:00
embeddedt
0ffb3cc973
Further optimizations to model loading 2023-02-06 10:01:15 -05:00
embeddedt
30ae895fa5
Add option to rebuild blockstate caches on a background thread 2023-02-04 12:56:32 -05:00
embeddedt
e9a6a3d194
More tweaks to model loading 2023-02-04 12:43:38 -05:00
embeddedt
aead8ef90f
Disable resource location deduplication for now due to CPU time 2023-02-01 21:19:33 -05:00
embeddedt
fcc6abe3b7
Cache model dependencies and materials 2023-01-29 22:24:12 -05:00
embeddedt
72def15ac6
More tweaks to executor 2023-01-29 22:00:00 -05:00
embeddedt
a71a036ae8
Move vanilla model baking earlier in the loading process 2023-01-29 21:37:18 -05:00
embeddedt
9f112f2fbc
Fix splash screen freezing when workers are busy 2023-01-29 20:32:57 -05:00
embeddedt
c861870306
Remove log messages from resource pack cache
This feature is pretty stable
2023-01-29 20:22:53 -05:00
embeddedt
f24f63d6d9
Reduce performance impact when building ingredient filter 2023-01-29 20:18:05 -05:00
embeddedt
d1aa03a0c5
Tweak JEI injection for compatibility with 7.8 2023-01-29 18:19:21 -05:00
embeddedt
536f6b9a50
Handle unnormalized resource paths
Fixes #14
2023-01-28 21:01:45 -05:00
embeddedt
48b4f976df
Add mod scanning optimization (requires Blacksmith) 2023-01-28 20:51:24 -05:00
embeddedt
8dc915037c
Improve blockstate cache rebuild logic, remove vanilla search trees if JEI is installed 2023-01-28 12:49:38 -05:00
embeddedt
fa9a3bb890
Avoid recreating arrays when computing block state cache 2023-01-28 11:19:39 -05:00
embeddedt
5c914deeb7
More experimental features 2023-01-28 10:56:50 -05:00
embeddedt
5c4e77b211
Enable class search cache 2023-01-28 10:13:39 -05:00
embeddedt
ccc3959328
Experimental multipart parallelizations 2023-01-28 10:06:13 -05:00
embeddedt
8e99cac6a7
Code cleanup 2023-01-28 08:29:48 -05:00
embeddedt
497393bf59
Adjust ArgsClassGenerator start index based on class cache 2023-01-28 08:27:38 -05:00
embeddedt
ba30b37552
Disable biome container compression when Chocolate Fix is installed 2023-01-22 21:10:02 -05:00
embeddedt
f2de12329e
Add model predicate flattening 2023-01-22 20:23:41 -05:00
embeddedt
6b28cb5ebc
Port biome palette and chunk section optimizations from Hydrogen 2023-01-22 20:11:03 -05:00
embeddedt
ad5fcf44e5
Add theoretical performance optimization for Scanner
Useless for now until I find a way of running transformers
before mods load
2023-01-22 18:56:43 -05:00
embeddedt
8cdc425d7d
Ensure the main thread does not spin when no tasks are available 2023-01-22 18:07:48 -05:00
embeddedt
a8df933e19
Add API to allow stopping already stopped AsyncStopwatch 2023-01-22 16:32:50 -05:00
embeddedt
23b4652864
Improve class transformer cache 2023-01-22 14:23:06 -05:00
embeddedt
95d7410722
Add FIXME note to MixinTransformerHasher 2023-01-22 12:47:37 -05:00
embeddedt
09ffb73a70
Don't clear blockstate cache field
This will break one of FerriteCore's optimizations
2023-01-21 21:15:24 -05:00
embeddedt
a800f6d704
Add ResourceLocation deduplication from Hydrogen 2023-01-21 21:15:13 -05:00
embeddedt
277ea384e7
Support injecting new transformer outside of dev 2023-01-21 20:31:34 -05:00
embeddedt
ac99791d3a
Deduplicate empty byte arrays 2023-01-21 12:39:27 -05:00
embeddedt
41eef0b6ab
New class transformer cache
Hashes individual mixins/coremods and therefore needs no special invalidation logic
2023-01-21 12:33:17 -05:00
embeddedt
bee6c6f272 Add config options to enable/disable the transformer cache and class search cache 2023-01-19 10:30:35 -05:00
embeddedt
abc7f77d44 Fix mixin warnings 2023-01-19 10:18:02 -05:00
embeddedt
cc953a2e88 Remove unused import 2023-01-19 10:05:26 -05:00
embeddedt
cf2c6a2b7e Disable location cache again (manual timing showed it's not effective) 2023-01-19 10:03:31 -05:00
embeddedt
802a0587c7
Enable class location cache 2023-01-19 08:57:52 -05:00
embeddedt
d2f5c4b15a
Implement class location cache 2023-01-18 20:55:35 -05:00
embeddedt
6dbf4b5a12 WIP 2023-01-18 09:45:11 -05:00
embeddedt
b806438bf9 Switch to not using service 2023-01-18 09:21:22 -05:00
embeddedt
c01ea4fcc4
WIP: class search improvements 2023-01-18 09:04:50 -05:00
embeddedt
c8a5d62e34
Initial implementation of transformer caching 2023-01-15 14:52:37 -05:00
embeddedt
b0a2da715e
Disable async JEI by default when Modern UI is installed 2023-01-14 19:51:47 -05:00
embeddedt
41ed759938
1.4.3 - correctly handle JEI plugins that throw errors when sending runtime
Fixes #9
2023-01-14 16:59:32 -05:00