LazuriteMC / Lattice

A library mod that allows for chunk generation, loading, and rendering around Viewables.
http://lazurite.dev
MIT License
2 stars 0 forks source link

Lithium commpatibillity #1

Open JakeDreemurrYT opened 3 years ago

JakeDreemurrYT commented 3 years ago

Lattice doesn't load if Lithium is in the game, and with quadz, produces this output log

---- Minecraft Crash Report ---- // Shall we play a game?

Time: 5/23/21 8:24 PM Description: Exception in server tick loop

org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:208) at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:178) at org.spongepowered.asm.mixin.transformer.FabricMixinTransformerProxy.transformClassBytes(FabricMixinTransformerProxy.java:23) at net.fabricmc.loader.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:157) at net.fabricmc.loader.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:150) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at net.minecraft.class_3215.(class_3215.java:88) at net.minecraft.class_3218.(class_3218.java:191) at net.minecraft.server.MinecraftServer.method_3786(MinecraftServer.java:368) at net.minecraft.server.MinecraftServer.method_3735(MinecraftServer.java:335) at net.minecraft.class_1132.method_3823(class_1132.java:67) at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:645) at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:257) at net.minecraft.server.MinecraftServer$$Lambda$7779/544037893.run(Unknown Source) at java.lang.Thread.run(Thread.java:745) Caused by: org.spongepowered.asm.mixin.throwables.MixinApplyError: Mixin [mixin.common.json:common.ThreadedAnvilChunkStorageMixin] from phase [DEFAULT] in config [mixin.common.json] FAILED during APPLY at org.spongepowered.asm.mixin.transformer.MixinProcessor.handleMixinError(MixinProcessor.java:642) at org.spongepowered.asm.mixin.transformer.MixinProcessor.handleMixinApplyError(MixinProcessor.java:594) at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:356) ... 15 more Caused by: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: @At("LOAD" ordinal=2 index=-1) on net/minecraft/class_3898::updateCameraPosition_LOAD with priority 1000 cannot inject into net/minecraft/class_3898::method_18713(Lnet/minecraft/class_3222;)V merged by me.jellysquid.mods.lithium.mixin.world.player_chunk_tick.ThreadedAnvilChunkStorageMixin with priority 1000 [PREINJECT Applicator Phase -> mixin.common.json:common.ThreadedAnvilChunkStorageMixin -> Prepare Injections -> -> localvar$dke000$updateCameraPosition_LOAD(Z)Z -> Prepare] at org.spongepowered.asm.mixin.injection.code.Injector.findTargetNodes(Injector.java:293) at org.spongepowered.asm.mixin.injection.code.Injector.find(Injector.java:240) at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.prepare(InjectionInfo.java:375) at org.spongepowered.asm.mixin.transformer.MixinTargetContext.prepareInjections(MixinTargetContext.java:1255) at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.prepareInjections(MixinApplicatorStandard.java:1033) at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:388) at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:320) at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:345) at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:569) at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:351) ... 15 more

A detailed walkthrough of the error, its code path and all known details is as follows:

-- System Details -- Details: Minecraft Version: 1.16.5 Minecraft Version ID: 1.16.5 Operating System: Windows 10 (amd64) version 10.0 Java Version: 1.8.0_51, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 685720832 bytes (653 MB) / 2147483648 bytes (2048 MB) up to 2147483648 bytes (2048 MB) CPUs: 4 JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M Fabric Mods: achaybales: Achaybales 1.4-1.16.5 adorn: Adorn 1.13.0+1.16.5 advanced_runtime_resource_pack: Runtime Resource Pack 0.3.11 adventurez: AdventureZ 1.2.2 aegis: Aegis 1.0.1 allure: Allure 1.2.8 angerable-patch: Angerable Patch 1.0.0-1.16.1 artifice: Artifice 0.14.6+1.16.5 autoconfig1u: Auto Config v1 Updated 3.3.1 automatone: Automatone 0.3.4 autosmeltenchant: AutosmeltEnchant 1.1.0 battletowers: Battle Towers 3.3.4-1.16.4 bendy-lib: Bendy api 1.1.0 betterend: Better End 0.9.6-pre betternether: Better Nether 5.0.7 bettersleeping: Better Sleeping 0.4.0 blame: Blame 1.16.5-3.0.1-fabric blue_endless_jankson: jankson 1.2.0 boostedbrightness: Boosted Brightness 1.2.1 cardinal-components: Cardinal Components API 2.8.2 cardinal-components-base: Cardinal Components API (base) 2.8.2 cardinal-components-block: Cardinal Components API (blocks) 2.8.2 cardinal-components-chunk: Cardinal Components API (chunks) 2.8.2 cardinal-components-entity: Cardinal Components API (entities) 2.8.2 cardinal-components-item: Cardinal Components API (items) 2.8.2 cardinal-components-level: Cardinal Components API (world saves) 2.8.2 cardinal-components-scoreboard: Cardinal Components API (scoreboard) 2.8.2 cardinal-components-util: Cardinal Components API (utilities) 2.8.2 cardinal-components-world: Cardinal Components API (worlds) 2.8.2 cloth-basic-math: Cloth Basic Math 0.5.1 cloth-client-events-v0: Cloth Client Events v0 1.5.47 cloth-config2: Cloth Config v4 4.11.26 combatedit: CombatEdit 1.3.2 cookiecore: Oreo Core 0.0.4 cosmetic-armor: Cosmetic Armor 1.0.0 croptopia: Croptopia 1.3.5 crowdin-translate: CrowdinTranslate 1.2 curios: Curios API 0.0.13-1.16.5 cursemods: Cursemods 1.0.2-fabric customportalapi: Custom Portals 0.0.1-beta29-1.16 customportals: Custom Portals 1.4.2 customskinloader: CustomSkinLoader 14.13-SNAPSHOT-214 decorative: Decorative 4.0.0 dehydration: Dehydration 1.1.2 direbats: Direbats 1.1.1+1.16.5-fabric dragonloot: DragonLoot 1.0.5 emotecraft: Emotecraft 2.0.3 entityculling: EntityCulling-Fabric 1.2.1 enva: Environmental Armor 1.1.4 equip: EquipZ 1.6.2 essentiallyemerald: Essentially Emerald 1.1 extrakeybinds: CyaConnors Extra Origins Keybinds 1.16.5-0.1.2 extraorigins: Extra Origins 1.16.5-9 extrarecords: Extra Records 1.3.1 fabric: Fabric API 0.34.2+1.16 fabric-api-base: Fabric API Base 0.3.0+c88702897d fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.0.0+dc716ea17d fabric-biome-api-v1: Fabric Biome API (v1) 3.1.1+ca58154a7d fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.5+ca58154a7d fabric-command-api-v1: Fabric Command API (v1) 1.1.1+351679a77d fabric-commands-v0: Fabric Commands (v0) 0.2.2+ca58154a7d fabric-containers-v0: Fabric Containers (v0) 0.1.11+9354966b7d fabric-content-registries-v0: Fabric Content Registries (v0) 0.2.1+ca58154a7d fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.1.3+ca58154a7d fabric-dimensions-v1: Fabric Dimensions API (v1) 2.0.6+61336ba97d fabric-entity-events-v1: Fabric Entity Events (v1) 1.1.0+c88702897d fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.2+ca58154a7d fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.1+ca58154a7d fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.6+ca58154a7d fabric-item-api-v1: Fabric Item API (v1) 1.2.1+ca58154a7d fabric-item-groups-v0: Fabric Item Groups (v0) 0.2.7+2868a2287d fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.4+9354966b7d fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.1+ca58154a7d fabric-language-kotlin: Fabric Language Kotlin 1.6.0+kotlin.1.5.0 fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 1.2.1+ca58154a7d fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.0.2+ca58154a7d fabric-mining-levels-v0: Fabric Mining Levels (v0) 0.1.3+ca58154a7d fabric-models-v0: Fabric Models (v0) 0.3.0+bc7a746f7d fabric-networking-api-v1: Fabric Networking API (v1) 1.0.3+e3c9d0627d fabric-networking-blockentity-v0: Fabric Networking Block Entity (v0) 0.2.8+ca58154a7d fabric-networking-v0: Fabric Networking (v0) 0.3.2+ca58154a7d fabric-object-builder-api-v1: Fabric Object Builder API (v1) 1.9.5+c88702897d fabric-object-builders-v0: Fabric Object Builders (v0) 0.7.2+ca58154a7d fabric-particles-v1: Fabric Particles (v1) 0.2.4+ca58154a7d fabric-permissions-api-v0: fabric-permissions-api 0.1-SNAPSHOT fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.7.4+ca58154a7d fabric-renderer-api-v1: Fabric Renderer API (v1) 0.4.2+2868a2287d fabric-renderer-indigo: Fabric Renderer - Indigo 0.4.4+ca58154a7d fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 2.3.0+2868a2287d fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.1.5+ca58154a7d fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 0.1.13+ca58154a7d fabric-rendering-v0: Fabric Rendering (v0) 1.1.2+ca58154a7d fabric-rendering-v1: Fabric Rendering (v1) 1.6.0+2868a2287d fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.4.6+2868a2287d fabric-screen-api-v1: Fabric Screen API (v1) 1.0.0+c045166c7d fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.1.5+9354966b7d fabric-structure-api-v1: Fabric Structure API (v1) 1.1.4+ca58154a7d fabric-tag-extensions-v0: Fabric Tag Extensions (v0) 1.1.1+ca58154a7d fabric-textures-v0: Fabric Textures (v0) 1.0.6+ca58154a7d fabric-tool-attribute-api-v1: Fabric Tool Attribute API (v1) 1.2.7+8183d3957d fabric-tpa: FabricTPA 2.0.1 fabricloader: Fabric Loader 0.11.3 fabrictpafixtitles: FabricTPAFixTitles 0.1.2 fallflyinglib: FallFlyingLib 1.1.0 fantasycraft: Fantasycraft 1.1.3 fiber: fiber 0.23.0-2 fiber2cloth: Fiber To Cloth 3.1.0 flamingo_ooo: Flamingo, oh, oh, oh... 1.0.4-MC1.16.3-fabric fourinchknife-trueinfinity: True Infinity 1.0.0 frozenup: Frozen-Up-Fabric 1.16.5-1.0.0 geckolib3: Geckolib 3.0.34 givemehats: Give Me Hats! 1.5.1 golemsgalore: Golems Galore 0.2.1+mc.1.16.5 haema: Haema 1.7.0 impersonate: Impersonate 2.2.1 invview: InvView 1.4.1-1.16.4+ jankson: Jankson 3.0.1+j1.2.0 java: Java HotSpot(TM) 64-Bit Server VM 8 kyrptconfig: Kytpt Config 1.1.6-1.16 latoorigins: Lato Origins 0.6.1 lattice: Lattice 1.0.0 libblockattributes: LibBlockAttributes 0.8.8 libblockattributes_core: LibBlockAttributes (Core) 0.8.8 libblockattributes_fluids: LibBlockAttributes (Fluids) 0.8.8 libblockattributes_items: LibBlockAttributes (Items) 0.8.8 libcd: LibCapableData 3.0.3+1.16.3 libgui: LibGui 3.3.5+1.16.5 libstructure: LibStructure 1.5 lithium: Lithium 0.6.4 manhunt: Manhunt Fabric 2.0.2 manhunt-api: Manhunt API 1.0.0 manhunt-base: Manhunt Base 1.0.1 maybe-data: Maybe data 1.0.0-1.16.2 mermod: Mermod 1.3 midnight-hats: Midnight Hats 2.0.1 minecraft: Minecraft 1.16.5 moborigins: Mob Origins 1.3.1 modmenu: Mod Menu 1.16.9 moenchantments: Mo'Enchantments 1.15.0 morediamondsfabric: MoreDiamonds 1.0.0 morediscs: More discs 1.0.4 moredrinks: More Drinks 1.0.0 musica: Musica 1.2.0 notenoughanimations: NotEnoughAnimations 1.2.3 okzoomer: Ok Zoomer 4.0.1+1.16.2 org_jetbrains_kotlin_kotlin-reflect: kotlin-reflect 1.5.0 org_jetbrains_kotlin_kotlin-stdlib: kotlin-stdlib 1.5.0 org_jetbrains_kotlin_kotlin-stdlib-jdk7: kotlin-stdlib-jdk7 1.5.0 org_jetbrains_kotlin_kotlin-stdlib-jdk8: kotlin-stdlib-jdk8 1.5.0 org_jetbrains_kotlinx_kotlinx-coroutines-core-jvm: kotlinx-coroutines-core-jvm 1.5.0-RC org_jetbrains_kotlinx_kotlinx-coroutines-jdk8: kotlinx-coroutines-jdk8 1.5.0-RC org_jetbrains_kotlinx_kotlinx-serialization-core-jvm: kotlinx-serialization-core-jvm 1.2.0 org_jetbrains_kotlinx_kotlinx-serialization-json-jvm: kotlinx-serialization-json-jvm 1.2.0 origins: Origins 0.7.0 origins-classes: Origins: Classes 1.1.1 originsplus: Origins Plus 0.0.2 originsumbrellas: Origins: Umbrellas 1.1.0 pandemonium: Requiem: Pandemonium 1.7.3 pandemoniumapi: Requiem: Pandemonium-API 1.7.3 patchouli: Patchouli 1.16.4-50-FABRIC pehkui: Pehkui 1.9.0+21w10a pettable: Pettable 1.1.0 phonos: Phonos 0.1.1-beta phosphor: Phosphor 0.7.1+build.11 playerabilitylib: Pal 1.2.2 quadz: Quadz 1.0.1 quickshulker: Quick Shulker 1.1.14-1.16 ratsmischief: Rat's Mischief 1.1.1 rayon: Rayon 1.2.3 rayon-core: Rayon Core API 1.2.3 rayon-entity: Rayon Entity API 1.2.3 rayon-particle: Rayon Particle API 1.2.3 reach-entity-attributes: Reach Entity Attributes 1.1.1 requiem: Requiem 1.7.3 requiemapi: Requiem-API 1.7.3 respawnablepets: Respawnable Pets 1.16.5-2 roughlyenoughitems: Roughly Enough Items 5.11.188 roughlyenoughitems-api: REI (API) 5.11.188 roughlyenoughitems-default-plugin: REI (Default Plugin) 5.11.188 roughlyenoughitems-runtime: REI (Runtime) 5.11.188 satin: Satin 1.5.1 seedy-behavior: Seedy Behavior 1.0.1 shulkerutils: shulkerutils 1.0.1-1.16 sihywtcamd: sihywtcamd 1.3.1+1.16.5 simple_backpack: SimpleBackpack 1.0.38 sit: Sit 1.16.5-11 slapmap: Slapmap 1.0.1d slimeorigin: Slimeorigin 2.1.0 sodium: Sodium 0.1.0 somnus: Somnus API 0.0.11-1.16.5 static-content: Static Content 1.0.2-1.16.2 staticdata: Static Data 1.1.2 structure-helpers: Structure Helpers 3.0.0 structurized: Structurized 1.2.0-1.16.5 the_aether: The Aether 1.16.5-1.0.3 thearchitect: The Architect 1.0.0+1.16.5-fabric things: Things 0.1.1 trade: Trade 1.1.3 transliterationlib: TRansliterationLib 1.0.4 transparent_cosmetics: Transparent Cosmetics 1.2.0 transportables: Transportables 1.0.1 transporter: Transporter 1.0.3 trinkets: Trinkets 2.6.7 unlimiteddragoneggs: Unlimited Dragon Eggs 1.1.1 upgradedshulkers: Upgraded Shulkers 1.0.1-1.16 voidtotem: Void Totem (Fabric) 1.16.5-1.1.0 wildfire_gender: Wildfire's Gender Mod 2.4.1 wolveswitharmor: Wolves With Armor 1.5.4-1.16.5 worldedit: WorldEdit 7.2.5+57d5ac9 xaerominimap: Xaero's Minimap 21.6.0 xaeroworldmap: Xaero's World Map 1.13.2 Patchouli open book context: n/a Player Count: 0 / 8; [] Data Packs: null, minecraft:transparent_cosmetics, vanilla (incompatible), Fabric Mods Type: Integrated Server (map_client.txt) Is Modded: Definitely; Client brand changed to 'fabric'

The-PPWD commented 3 years ago

So a bit of an update on this. Lithium uses an @Overwrite mixin on a method that I'm trying to alter in other ways. An @Overwrite essentially replaces all of this method's code, leaving nothing that I can do in that method anymore via the conventional routes. I have some ideas for how I can work around this. So for now, I'll just say that Lithium and Lattice are incompatible and I'll keep this issue on my radar and see what I can do.

2No2Name commented 3 years ago

Lithium has a config file to disable mixins, so the user can disable certain lithium optimizations to allow the mods to be used at the same time