Friends & Foes (Forge/NeoForge) (Copper Golem,Crab,Glare,Moobloom,Iceologer,Rascal,Tuff Golem,Wildfire,Illusioner)

[1.19.2-2.0.9] Crash : AbstractMethodError when Lightning Rod changes weathering state - Possible conflict with Caverns & Chasms

TigerWalts opened this issue ยท 2 comments

commented

Minecraft version information

1.19.2

Mod loader information

Forge

Mod loader version information

43.3.8

Mod version information

2.0.9

Reproduction Steps

  1. Install both Friends & Foes 2.0.9 and Caverns & Chasms 1.0.0
  2. Find a Copper Golem workshop
    • Just placing a Lightning Rod may be enough
  3. Wait
  4. ...
  5. Crash

Crash Report and latest.log

Crash Report: https://mclo.gs/1QQjmd5

java.lang.AbstractMethodError: Receiver class net.minecraft.world.level.block.LightningRodBlock does not define or inherit an implementation of the resolved method 'abstract java.util.Optional m_142123_(net.minecraft.world.level.block.state.BlockState)' of interface net.minecraft.world.level.block.ChangeOverTimeBlock.
	at net.minecraft.world.level.block.ChangeOverTimeBlock.m_220952_(ChangeOverTimeBlock.java:70) ~[server-1.19.2-20220805.130853-srg.jar%23543!/:?] {re:classloading,re:mixin}
	at net.minecraft.world.level.block.ChangeOverTimeBlock.m_220947_(ChangeOverTimeBlock.java:24) ~[server-1.19.2-20220805.130853-srg.jar%23543!/:?] {re:classloading,re:mixin}
	at net.minecraft.world.level.block.LightningRodBlock.m_213898_(LightningRodBlock.java:548) ~[server-1.19.2-20220805.130853-srg.jar%23543!/:?] {re:mixin,re:classloading,pl:mixin:APP:caverns_and_chasms.mixins.json:LightningRodBlockMixin,pl:mixin:APP:friendsandfoes-common.mixins.json:LightningRodBlockDegradableMixin,pl:mixin:APP:friendsandfoes-common.mixins.json:LightningRodBlockMixin,pl:mixin:APP:friendsandfoes-common.mixins.json:LightningRodBlockOxidizableMixin,pl:mixin:A}
	at net.minecraft.world.level.block.state.BlockBehaviour$BlockStateBase.m_222972_(BlockBehaviour.java:698) ~[server-1.19.2-20220805.130853-srg.jar%23543!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:forgeendertech:coremod,re:classloading,pl:accesstransformer:B,xf:fml:forgeendertech:coremod,pl:mixin:APP:modernfix-common.mixins.json:bugfix.chunk_deadlock.BlockStateBaseMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.reduce_blockstate_cache_rebuilds.BlockStateBaseMixin,pl:mixin:APP:arc-common.mixins.json:MixinBlockStateBase,pl:mixin:APP:byg.mixins.json:common.block.MixinBlockBehaviourBlockStateBase,pl:mixin:APP:fruitsdelight.mixins.json:BlockStateBaseMixin,pl:mixin:APP:twigs.mixins.json:BlockStateBaseMixin,pl:mixin:APP:ferritecore.blockstatecache.mixin.json:BlockStateBaseMixin,pl:mixin:APP:valhelsia_core.mixins.json:BlockStateBaseMixin,pl:mixin:A}
	at net.minecraft.server.level.ServerLevel.m_8714_(ServerLevel.java:446) ~[server-1.19.2-20220805.130853-srg.jar%23543!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:forgeendertech:coremod,xf:fml:sereneseasons:temperature_transformer,re:classloading,pl:accesstransformer:B,xf:fml:forgeendertech:coremod,xf:fml:sereneseasons:temperature_transformer,pl:mixin:APP:cupboard.mixins.json:ServerAddEntityMixin,pl:mixin:APP:betterendisland.mixins.json:ServerLevelMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.cache_strongholds.ServerLevelMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.chunk_deadlock.ServerLevelMixin,pl:mixin:APP:leavesbegone.common.mixins.json:ServerLevelMixin,pl:mixin:APP:supplementaries-common.mixins.json:ServerLevelMixin,pl:mixin:APP:endergetic.mixins.json:ServerLevelMixin,pl:mixin:APP:corgilib.mixins.json:MixinServerLevel,pl:mixin:APP:byg.mixins.json:common.world.MixinServerLevel,pl:mixin:APP:aether.mixins.json:common.accessor.ServerLevelAccessor,pl:mixin:APP:forge-mca.mixin.json:MixinServerWorld,pl:mixin:APP:betterdeserttemples.mixins.json:ServerLevelMixin,pl:mixin:APP:blueprint.mixins.json:ServerLevelMixin,pl:mixin:APP:friendsandfoes-common.mixins.json:ServerWorldAccessor,pl:mixin:APP:friendsandfoes-common.mixins.json:ServerWorldMixin,pl:mixin:APP:atmospheric.mixins.json:ServerLevelMixin,pl:mixin:APP:ars_elemental.mixins.json:ServerLevelMixin,pl:mixin:APP:create.mixins.json:accessor.ServerLevelAccessor,pl:mixin:APP:betterendisland.mixins.json:EndergeticExpansionMixins,pl:mixin:A}

Additional information

Crash was observed when a structure added by Friends and Foes intended to demonstrate the Copper Golem was placed in the world. When the rod's weathering state changes, the server crashes.

Waxing or scraping the rod does not trigger a crash.

Lightning resetting the weathered state has not been checked.

Both mods add mixins that allow the lighting rod to weather/oxidize. There may be a conflict

commented

I checked their mixins, and they @Override everything, which is a compatibility killer in a mixins, so hopefully they can do a rewrite.

commented

After a lot of work on this, i am closing this, with 2.0.11 release this should be in the state, which is as close as it could be with compatibility between these two mods.