Commit Graph

420 Commits

Author SHA1 Message Date
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
狂想ThePotato
7342bb4fb4
Update zh_cn.json (#26) 2023-02-28 09:49:18 -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
a99889e160
Merge branch 'main' of github.com:embeddedt/ModernFix 2023-02-19 16:53:54 -05:00
ZZZank
2e50b995d8
Improve translations (#21) 2023-02-19 14:25:46 -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
4e3b839f36
mappings + AT change 2023-02-17 20:38:31 -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
6c7fd44f00
Cache temporary mixin classloading 2023-02-11 20:34:50 -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
8a38642793
Fix hang 2023-01-22 21:09:47 -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
2a29aee37b
Move hash computation into its own method 2023-01-21 22:08:59 -05:00
embeddedt
bbe5709070
Small classloader optimization 2023-01-21 21:48:19 -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
15524d975d
Store classes in separate files 2023-01-21 20:57:07 -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
embeddedt
9e3ae9d8c0
Make BakeReason more resilient 2023-01-12 21:32:19 -05:00
embeddedt
f4dfd428df
Use custom interruption flag for JEI reload thread
Fixes #5
2023-01-08 19:02:09 -05:00
embeddedt
df50f1e3a5
Turn off preloading of block classes
When enabled, the parallel DeferredRegister system should yield
the same result anyway.
2023-01-07 21:57:10 -05:00
embeddedt
572cbaf9bd
Make BlockColors thread-safe
Workaround for issues like https://github.com/vadis365/Mob-Grinding-Utils/issues/240,
as too many mods do this
2023-01-07 19:03:47 -05:00
embeddedt
24990ba089
Enable blockstate cache rebuild as it should be completely safe 2023-01-07 13:43:39 -05:00
embeddedt
d6a2760824
Disable risky parallel optimizations by default 2023-01-07 13:08:29 -05:00
embeddedt
933f495d64
Only prefill block suppliers 2023-01-07 13:07:56 -05:00
embeddedt
0062bc9bae
Make dispenser behavior registry thread-safe 2023-01-07 13:07:06 -05:00
embeddedt
9d0677a3d7
Make OrderedParallelModDispatcher more reliable 2023-01-07 13:06:53 -05:00
embeddedt
dd91031382
Cache all DeferredRegister suppliers 2023-01-07 12:49:07 -05:00
embeddedt
0fb6c71734
Refactor blockstate caching 2023-01-07 12:37:44 -05:00
embeddedt
3dedb49a45
Turn off parallel blockstate cache rebuild 2023-01-07 11:14:09 -05:00
embeddedt
9456eac7df
WIP: more parallelization 2023-01-07 11:11:43 -05:00
embeddedt
2525a64313
Move mod dispatching logic into its own class 2023-01-06 21:57:44 -05:00
embeddedt
5c0d23b2f0
Parallelize construction of DeferredRegister registry objects 2023-01-06 21:47:06 -05:00
embeddedt
c6323fd62e
Scan for all Block classes and preload them on worker threads
This helps move towards multithreading most VoxelShape computations
2023-01-06 16:50:52 -05:00
embeddedt
9ebeec6fc2
Fix crash on dedicated server 2023-01-06 14:31:15 -05:00
embeddedt
87b644834f
Adjust thread priorities 2023-01-06 14:31:09 -05:00
embeddedt
b0dfd4a4ef
Make reload thread name more useful for debugging 2023-01-06 11:01:54 -05:00
embeddedt
3695473283
Make JEILoadingInterruptedException an error so it propagates further 2023-01-06 10:59:48 -05:00
embeddedt
75695cf759
Patch OBJLoader to support parallel loading
Fixes #4
2023-01-06 10:49:45 -05:00
embeddedt
f43d54eafd
Implement facility to process specific JEI plugins on the main thread 2023-01-06 10:42:48 -05:00
embeddedt
41da489c85
Add async JEI loading 2023-01-05 20:50:30 -05:00
embeddedt
21d559ab94
Add chunk saving fix 2023-01-05 18:19:39 -05:00
embeddedt
ac27dbca4e
Fix mcmeta files not being included in hasResource() calls 2023-01-05 11:06:33 -05:00
embeddedt
588dc1a86e
Add config 2023-01-04 20:26:29 -05:00
embeddedt
dc18e782c4
Don't cache invalid resource locations at all
Fixes #2
2023-01-04 17:23:34 -05:00
embeddedt
773800830f
Optimize VanillaPack.hasResource 2023-01-04 15:28:58 -05:00
embeddedt
c0869fb1b2
Fix crash outside dev 2023-01-04 15:28:51 -05:00
embeddedt
89ebab3ab8
Trim ModelManager maps 2023-01-04 14:24:54 -05:00
embeddedt
50fb19156c
Time game startup as well 2023-01-04 14:24:33 -05:00
embeddedt
d13fb0850d
Use up to 255 worker threads (matches 1.18) 2023-01-04 09:53:57 -05:00
embeddedt
bf4496341b
Optimize ModFileResourcePack.hasResource 2023-01-03 21:50:48 -05:00
embeddedt
80e273bf12
Fix crash when running outside dev 2023-01-03 21:50:39 -05:00
embeddedt
878d682eee
Reduce log output when preloading JSONs 2023-01-03 21:11:56 -05:00
embeddedt
fe1e39ad10
Remove parallel baking :(
Turns out it's not safe after all.
2023-01-03 20:55:25 -05:00
embeddedt
3d80d5a90e
Mojmap 2023-01-03 16:14:42 -05:00
embeddedt
0a8fbf9114
Validate model JSON paths before preloading them
Fixes #1
2023-01-03 13:52:07 -05:00
embeddedt
26915c6af4
Skip recomputing block state cache when unnecessary
Based on https://github.com/MinecraftForge/MinecraftForge/pull/7496
2023-01-02 21:56:42 -05:00
embeddedt
dff8c4cc35
Parallel texture collection 2023-01-02 21:05:30 -05:00
embeddedt
9180c79854
Parallelize parts of model loading/baking 2023-01-02 13:56:51 -05:00
embeddedt
f2e557253e
Remove biome temperature caching
Based on 4553ccb0a0
2023-01-02 10:25:39 -05:00
embeddedt
e50859f10d
Fix occasional crash due to unsafe concurrency with RenderTypes 2023-01-01 20:30:03 -05:00
embeddedt
9a4952aa42
Optimize VanillaPack.resourceExists further 2023-01-01 20:30:03 -05:00
embeddedt
57773db489
Fix crash when running outside of dev 2023-01-01 20:30:03 -05:00
embeddedt
055721f494
Skip first datapack reload
Implementation from https://github.com/MinecraftForge/MinecraftForge/pull/8163

Fixes https://github.com/MinecraftForge/MinecraftForge/issues/8125
2023-01-01 20:29:54 -05:00
embeddedt
bb184a0772
Initial commit 2022-12-31 18:35:31 -05:00