Tasks: - [x] Split javassist patching implementation into separate project - [x] Split non-minecraft code into [JavaPatcher](/nallar/JavaPatcher) - [x] Split minecraft-specific code into [ModPatcher](/nallar/ModPatcher) - [x] Mixin implementation in nallar/JavaPatcher. nallar/Javapatcher#2 - [x] Mixin implementation in [Mixin](/nallar/Mixin) nallar/Mixin#1 - [x] Mixin transformations in [ModPatcherGradle](/nallar/ModPatcherGradle) - [x] ~~Improve performance in ModPatcher by avoiding re-transforming~~ nallar/ModPatcher#10 - [x] Implement old profiling features in separate mod. nallar/TickProfiler#22 - [ ] Start from scratch, bring in some important features. Avoid feature creep - [x] Implement variant system (core/threaded for now, should be extensible) - [ ] Implement per-world threading - [ ] Implement deadlock detector - [ ] async/threaded chunkloading improvements - [ ] Fix the bloody stupid chunkloading when you world.get<anything> with coords an unloaded chunk - [ ] Chunkloading cache which actually works - [ ] Entity collision performance fixes - [x] Fix FMLCommonHandler.getEffectiveSide -> hardcode as always running on server - [ ] Avoid slow operations on TE/Entity lists. See [TickManager.batchRemove(Tile)Entities](https://github.com/nallar/TickThreading/blob/2a6554e7ece1a67189f0834124bebd43a74c35cf/src/main/java/nallar/tickthreading/minecraft/TickManager.java#L171) - [ ] Fix poor `World.getPersistentChunks` performance
Tasks:
Improve performance in ModPatcher by avoiding re-transformingAvoid running the same class through transformers twice ModPatcher#10World.getPersistentChunksperformance