CyclopsMC / IntegratedDynamics

A Minecraft mod to take full and automated control of your appliances.
http://cyclopsmc.github.io/IntegratedDynamics/
MIT License
126 stars 59 forks source link

Repeated crash/visual issues when placing Facade of type Logic Cable on another Logic Cable #1334

Closed laundmo closed 2 months ago

laundmo commented 3 months ago

Issue type:


Short description:

A "Facade - Logic Cable" (crafting a facade with a logic cable) causes missing textures and crashing (multiplayer) or immediately crashing (singleplayer).

Crashes client in multiplayer when:

Steps to reproduce the problem:

  1. craft a facade with a logic cable, producing a "Facade - Logic Cable"
  2. Place the facade on a logic cable
  3. crash

option 1: TNP Limitless 6

  1. restart game
  2. notice no block textures loading - except things like torches, itemframes, etc.
  3. attempt to break facade or surrounding blocks
  4. crash again

option 2: singleplayer 1.20.1, just IntegratedDynamics

  1. restart game
  2. load world
  3. crash again

Expected behaviour:

Facades should not be craft-able with incompatible blocks


Versions:

first encountered in modpack: TNP Limitless 6

Recreated with following versions (newest as of writing)

Log file:

first crash when placing facade on cable: https://share.yadamiel.com/minecraft-integrateddynamics-crash.log crash when loading in singleplayer: https://share.yadamiel.com/minecraft-integrateddynamics-crash2.log

rubensworks commented 3 months ago

Thanks for reporting!

laundmo commented 3 months ago

How to fix: i was able to use the ftbbackups mod backup to replace the specific region-file in which this block occurred with a previous version

The following attempts to fix it did not work:

i would guess a external world editor like Amulet may also work.

rubensworks commented 3 months ago

Relevant part of the stacktrace:

java.lang.StackOverflowError: Unexpected error
    at java.util.Objects.hashCode(Objects.java:103) ~[?:?] {}
    at net.minecraft.resources.ResourceKey$InternKey.hashCode(ResourceKey.java:73) ~[client-1.20.1-20230612.114412-srg.jar%23156!/:?] {re:classloading}
    at com.google.common.base.Equivalence$Equals.doHash(Equivalence.java:392) ~[guava-31.1-jre.jar%2394!/:?] {}
    at com.google.common.base.Equivalence.hash(Equivalence.java:118) ~[guava-31.1-jre.jar%2394!/:?] {}
    at com.google.common.collect.MapMakerInternalMap.hash(MapMakerInternalMap.java:1078) ~[guava-31.1-jre.jar%2394!/:?] {}
    at com.google.common.collect.MapMakerInternalMap.get(MapMakerInternalMap.java:2341) ~[guava-31.1-jre.jar%2394!/:?] {}
    at java.util.concurrent.ConcurrentMap.computeIfAbsent(ConcurrentMap.java:329) ~[?:?] {}
    at net.minecraft.resources.ResourceKey.m_135790_(ResourceKey.java:30) ~[client-1.20.1-20230612.114412-srg.jar%23156!/:?] {re:classloading}
    at net.minecraft.resources.ResourceKey.m_135785_(ResourceKey.java:22) ~[client-1.20.1-20230612.114412-srg.jar%23156!/:?] {re:classloading}
    at net.minecraft.nbt.NbtUtils.m_247651_(NbtUtils.java:219) ~[client-1.20.1-20230612.114412-srg.jar%23156!/:?] {re:classloading}
    at org.cyclops.cyclopscore.helper.BlockHelpers.deserializeBlockState(BlockHelpers.java:83) ~[CyclopsCore-1.20.1-1.19.0.jar%23154!/:1.19.0] {re:classloading}
    at org.cyclops.integrateddynamics.capability.facadeable.FacadeableTileMultipartTicking.getFacade(FacadeableTileMultipartTicking.java:33) ~[IntegratedDynamics-1.20.1-1.21.1.jar%23155!/:1.21.1] {re:classloading}
    at org.cyclops.integrateddynamics.core.helper.CableHelpers.lambda$getFacade$5(CableHelpers.java:400) ~[IntegratedDynamics-1.20.1-1.21.1.jar%23155!/:1.21.1] {re:classloading}
    at java.util.Optional.flatMap(Optional.java:289) ~[?:?] {}
    at org.cyclops.integrateddynamics.core.helper.CableHelpers.getFacade(CableHelpers.java:400) ~[IntegratedDynamics-1.20.1-1.21.1.jar%23155!/:1.21.1] {re:classloading}
    at org.cyclops.integrateddynamics.block.BlockCable.m_7753_(BlockCable.java:382) ~[IntegratedDynamics-1.20.1-1.21.1.jar%23155!/:1.21.1] {re:classloading}
    at net.minecraft.world.level.block.state.BlockBehaviour$BlockStateBase.m_60739_(MixinBlockStateBase.java:551) ~[client-1.20.1-20230612.114412-srg.jar%23156!/:?] {re:mixin,re:classloading,pl:mixin:APP:mixins.integrateddynamics.json:MixinBlockStateBase,pl:mixin:A}
    at org.cyclops.integrateddynamics.block.BlockCable.lambda$getLightBlock$2(BlockCable.java:383) ~[IntegratedDynamics-1.20.1-1.21.1.jar%23155!/:1.21.1] {re:classloading}
    at java.util.Optional.map(Optional.java:260) ~[?:?] {}
    at org.cyclops.integrateddynamics.block.BlockCable.m_7753_(BlockCable.java:383)