ShetiPhian / Localizations-and-Issues

Localizations and Issue Tracker for all of my Minecraft Mods
https://minecraft.curseforge.com/projects/shetiphiancore
9 stars 18 forks source link

Terraqueous is incompatible with "Oh The Biomes We've Gone" #450

Open evhub opened 3 months ago

evhub commented 3 months ago

Describe the bug

Minecraft crashes when loaded with Terraqueous and Oh The Biomes We've Gone (the new 1.20.1 update of Oh The Biomes You'll Go). Relevant log lines:

[30Jul2024 00:57:25.380] [pool-4-thread-1/WARN] [mixin/]: @ModifyVariable(@At("INVOKE")) Shift.BY=2 on mixins.terraqueous.json:TA_BoneMealFlowerFix::localvar$jcb000$terraqueous_BoneMealFlowerFix exceeds the maximum allowed value: 0. Increase the value of maxShiftBy to suppress this warning.
[30Jul2024 00:57:25.381] [pool-4-thread-1/INFO] [mixin/]: Instancing error handler class com.illusivesoulworks.polymorph.mixin.IntegratedMixinPlugin
[30Jul2024 00:57:25.382] [pool-4-thread-1/FATAL] [mixin/]: Mixin apply failed mixins.terraqueous.json:TA_BoneMealFlowerFix -> net.minecraft.world.level.block.GrassBlock: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException InjectionPoint(Shift)[@At("INVOKE")] on net/minecraft/world/level/block/GrassBlock::terraqueous_BoneMealFlowerFix with priority 1000 cannot inject into net/minecraft/world/level/block/GrassBlock::m_214148_(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)V merged by net.potionstudios.biomeswevegone.mixin.PrairieGrassMixin with priority 1000 [PREINJECT Applicator Phase -> mixins.terraqueous.json:TA_BoneMealFlowerFix -> Prepare Injections ->  -> localvar$jcb000$terraqueous_BoneMealFlowerFix(Ljava/util/List;)Ljava/util/List; -> Prepare]
org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: InjectionPoint(Shift)[@At("INVOKE")] on net/minecraft/world/level/block/GrassBlock::terraqueous_BoneMealFlowerFix with priority 1000 cannot inject into net/minecraft/world/level/block/GrassBlock::m_214148_(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)V merged by net.potionstudios.biomeswevegone.mixin.PrairieGrassMixin with priority 1000 [PREINJECT Applicator Phase -> mixins.terraqueous.json:TA_BoneMealFlowerFix -> Prepare Injections ->  -> localvar$jcb000$terraqueous_BoneMealFlowerFix(Ljava/util/List;)Ljava/util/List; -> Prepare]
    at org.spongepowered.asm.mixin.injection.code.Injector.findTargetNodes(Injector.java:305) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
    at org.spongepowered.asm.mixin.injection.code.Injector.find(Injector.java:240) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
    at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.prepare(InjectionInfo.java:421) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
    at org.spongepowered.asm.mixin.transformer.MixinTargetContext.prepareInjections(MixinTargetContext.java:1319) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
    at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.prepareInjections(MixinApplicatorStandard.java:1042) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
    at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:393) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
    at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:325) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
    at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:383) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
    at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:365) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
    at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
    at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:250) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
    at org.spongepowered.asm.service.modlauncher.MixinTransformationHandler.processClass(MixinTransformationHandler.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
    at org.spongepowered.asm.launch.MixinLaunchPluginLegacy.processClass(MixinLaunchPluginLegacy.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
    at cpw.mods.modlauncher.serviceapi.ILaunchPluginService.processClassWithFlags(ILaunchPluginService.java:156) ~[modlauncher-10.0.9.jar:10.0.9+10.0.9+main.dcd20f30]
    at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-10.0.9.jar:?]
    at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-10.0.9.jar:?]
    at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-10.0.9.jar:?]
    at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113) ~[securejarhandler-2.1.10.jar:?]
    at cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219) ~[securejarhandler-2.1.10.jar:?]
    at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229) ~[securejarhandler-2.1.10.jar:?]
    at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219) ~[securejarhandler-2.1.10.jar:?]
    at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135) ~[securejarhandler-2.1.10.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
    at net.minecraft.world.level.block.FireBlock.m_53484_(FireBlock.java:301) ~[client-1.20.1-20230612.114412-srg.jar%232176!/:?]
    at net.minecraft.server.Bootstrap.m_135870_(Bootstrap.java:46) ~[client-1.20.1-20230612.114412-srg.jar%232176!/:?]
    at net.minecraft.client.main.Main.lambda$main$0(Main.java:151) ~[client-1.20.1-20230612.114412-srg.jar%232176!/:?]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) ~[?:?]
    at java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
    at java.lang.Thread.run(Thread.java:1570) ~[?:?]

Additional context

PasteBin or GitHub Gists links

CrazyEights8888 commented 3 months ago

I am also having this exact same issue on the same versions. Please fix this :)

ShetiPhian commented 6 days ago

We are both editing the same method and neither has made the Mixin optional. Since you can't edit an edited method the second Mixin fails.

It would be nice if the original code would just pick a random flower feature list to grab a flower from rather then only use its own (index 0)

I'll see if I can do it another way without the Mixin, and if not I'll make mine optional; my flowers just wont spawn via bonemeal if it fails, but that's better then a crash.