Concurrent Chunk Management Engine (Fabric)

Concurrent Chunk Management Engine (Fabric)

231k Downloads

C2ME should not overwrite TheEndBiomeSource's getBiome method

gniftygnome opened this issue ยท 0 comments

commented

Describe the bug
Current (and future) versions of Biolith crash when C2ME is present with its default configuration because C2ME overwrites TheEndBiomeSource;getBiome, which conflicts with our mixins. Additionally, TerraBlender's mixins silently disable the C2ME functionality, or TerraBlender would also be broken by C2ME when adding End biomes.

Please consider at a minimum changing the default configuration value of useEndBiomeCache to false so C2ME is not default-incompatible with modern End biome placement mods.

See also:

https://github.com/RelativityMC/C2ME-fabric/blob/ver/1.20.4/c2me-opts-worldgen-vanilla/src/main/java/com/ishland/c2me/opts/worldgen/vanilla/mixin/the_end_biome_cache/MixinTheEndBiomeSource.java#L56-L77

TerraformersMC/Biolith#11

To Reproduce
Steps to reproduce the behavior:

  1. Run the latest versions of Biolith and C2ME together with default configuration.
  2. Enjoy a mixin apply failure and crash.

Expected behavior
No crash.

Screenshots

Runtime info (please complete the following information):

  • OS: any
  • Minecraft version: 1.20.4
  • Mod version: biolith-fabric-1.2.0-beta.2.jar and c2me-fabric-mc1.20.4-0.2.0+alpha.11.41.jar
  • Mod branch: (fill this if you are not using the default ver branches)

Crash reports / logs

[13:21:27] [main/ERROR]: Mixin apply for mod biolith failed biolith.mixins.json:MixinTheEndBiomeSource from mod biolith -> net.minecraft.class_2169: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException @At("NEW") on net/minecraft/class_2169::biolith$smoothEndNoise with priority 1000 cannot inject into net/minecraft/class_2169::method_38109(IIILnet/minecraft/class_6544$class_6552;)Lnet/minecraft/class_6880; merged by com.ishland.c2me.opts.worldgen.vanilla.mixin.the_end_biome_cache.MixinTheEndBiomeSource with priority 1100 [PREINJECT Applicator Phase -> biolith.mixins.json:MixinTheEndBiomeSource from mod biolith -> Prepare Injections ->  -> wrapOperation$zzf000$biolith$smoothEndNoise(IIILcom/llamalad7/mixinextras/injector/wrapoperation/Operation;III)Lnet/minecraft/class_6910$class_6914; -> Prepare]
org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: @At("NEW") on net/minecraft/class_2169::biolith$smoothEndNoise with priority 1000 cannot inject into net/minecraft/class_2169::method_38109(IIILnet/minecraft/class_6544$class_6552;)Lnet/minecraft/class_6880; merged by com.ishland.c2me.opts.worldgen.vanilla.mixin.the_end_biome_cache.MixinTheEndBiomeSource with priority 1100 [PREINJECT Applicator Phase -> biolith.mixins.json:MixinTheEndBiomeSource from mod biolith -> Prepare Injections ->  -> wrapOperation$zzf000$biolith$smoothEndNoise(IIILcom/llamalad7/mixinextras/injector/wrapoperation/Operation;III)Lnet/minecraft/class_6910$class_6914; -> Prepare]

Other mods
Fabric API (any applicable version) is also required.

Checklist

  • I am using the official version of the mod.
  • I tried the latest development version but the issue persists.
  • I searched for similar open issues and could not find an existing bug report on this.

Additional context