EnderIO/RS Compatability issue
Moobien opened this issue ยท 7 comments
Describe the bug
Whenever a pattern encoded with any EnderIO conduit is placed into an autocrafter Grids no longer are accessible. (in milestone 4.14)
How can we reproduce this bug or crash?
1: encode a pattern with an EnderIO conduit
2: place the pattern in an autocrafter
3: try to access any grid
What Minecraft version is this happening on?
Minecraft 1.21.1
What NeoForge or Fabric version is this happening on?
21.1.123
What Refined Storage version is this happening on?
v2.0.0-milestone-4.14
Relevant log output
This issue is present in refinedstorage-neoforge-2.0.0-beta.1
the second you place any patten coded for an Ender IO conduit you become unable to to open the ui for any grid
Did a test of this in a clean instance in case you wanted me to and can confirm the issue happens in my test instance
I found out why this happens. The instance of the Conduit registry item was different. The reason for this: on single player, the pattern output cache was reused for the server and the client level. The server and client level have different Conduit instances and registries. When syncing on the server, it was reusing the Conduit instance cached by the client and that is not found in the server registry.
This happens after inserting a pattern for the first time:
[03:22:37] [Server thread/ERROR] [minecraft/ServerPacketListener]: Failed to handle packet net.minecraft.network.protocol.game.ServerboundUseItemOnPacket@4664e192, suppressing error
java.lang.IllegalArgumentException: Can't find id for 'Reference{ResourceKey[enderio:conduit / enderio:enhanced_energy]=EnergyConduit[texture=enderio:block/conduit/enhanced_energy, description=translation{key='item.enderio.conduit.enhanced_energy', args=[]}, transferRatePerTick=12000]}' in map net.minecraft.core.Registry$1@7c7cf1b2
at TRANSFORMER/[email protected]/net.minecraft.core.IdMap.getIdOrThrow(IdMap.java:28) ~[neoforge-21.1.115.jar%23180!/:?] {re:classloading}
at TRANSFORMER/[email protected]/net.minecraft.network.codec.ByteBufCodecs$25.encode(ByteBufCodecs.java:479) ~[neoforge-21.1.115.jar%23180!/:?] {re:classloading}
at TRANSFORMER/[email protected]/net.minecraft.network.codec.ByteBufCodecs$25.encode(ByteBufCodecs.java:464) ~[neoforge-21.1.115.jar%23180!/:?] {re:classloading}
at TRANSFORMER/[email protected]/net.minecraft.core.component.DataComponentPatch$1.encodeComponent(DataComponentPatch.java:127) ~[neoforge-21.1.115.jar%23180!/:?] {re:classloading}
at TRANSFORMER/[email protected]/net.minecraft.core.component.DataComponentPatch$1.encode(DataComponentPatch.java:111) ~[neoforge-21.1.115.jar%23180!/:?] {re:classloading}
at TRANSFORMER/[email protected]/net.minecraft.core.component.DataComponentPatch$1.encode(DataComponentPatch.java:58) ~[neoforge-21.1.115.jar%23180!/:?] {re:classloading}
at TRANSFORMER/[email protected]/net.minecraft.network.codec.StreamCodec$8.encode(StreamCodec.java:145) ~[neoforge-21.1.115.jar%23180!/:?] {re:classloading}
at TRANSFORMER/[email protected]/com.refinedmods.refinedstorage.common.support.resource.ResourceCodecs$1.encode(ResourceCodecs.java:62) ~[%23184!/:?] {re:classloading}
Even after reloading the world, it still happens.
Yet, after restarting minecraft completely it works again.
This happens for each conduit type.
It does not happen for regular grid resources, only when they are autocraftable it becomes an issue.
I cannot figure out why this is happening.