[1.15.2] Crafter Manager allows shift click any item into Crafter
Tapac138 opened this issue · 2 comments
Issue description:
When Interfacing with a Crafter Manager, you are allowed to Shift click any item into a Crafter.
What happens:
Any additional Patterns added to that Crafter via Shift Click, or existing ones modified while invalid item(not a pattern) is in a Crafter causes them to be voided, adding them via clicking, just makes them fall into the world when exiting the interface.
Version (make sure you are on the latest version before reporting):
- Minecraft: 1.15.2
- Forge: 31.2.19
- Refined Storage: 1.8.6
Does this issue occur on a server?
Yes, also tested on a single player world.
It seems to do more than voiding. I had accidentally inserted a wireless crafting grid, and now the server encounters a class cast exception and can no longer load (crash began to occur after a server restart):
[ERROR] .... [co.re.re.ap.ne.NetworkNodeManager/]: Could not read network node
java.lang.ClassCastException: com.refinedmods.refinedstorageaddons.item.WirelessCraftingGridItem cannot be cast to com.refinedmods.refinedstorage.api.autocrafting.ICraftingPatternProvider
at com.refinedmods.refinedstorage.apiimpl.network.node.CrafterNetworkNode.invalidate(CrafterNetworkNode.java:114) ~[?:1.8.6] {re:classloading}
at com.refinedmods.refinedstorage.apiimpl.network.node.CrafterNetworkNode.read(CrafterNetworkNode.java:181) ~[?:1.8.6] {re:classloading}
at com.refinedmods.refinedstorage.setup.CommonSetup.readAndReturn(CommonSetup.java:151) ~[?:1.8.6] {re:classloading}
at com.refinedmods.refinedstorage.setup.CommonSetup.lambda$onCommonSetup$31(CommonSetup.java:112) ~[?:1.8.6] {re:classloading}
at com.refinedmods.refinedstorage.apiimpl.network.NetworkNodeManager.func_76184_a(NetworkNodeManager.java:61) ~[?:1.8.6] {re:classloading}
at net.minecraft.world.storage.DimensionSavedDataManager.func_223409_c(DimensionSavedDataManager.java:69) ~[?:?] {re:classloading}
at net.minecraft.world.storage.DimensionSavedDataManager.func_215753_b(DimensionSavedDataManager.java:52) ~[?:?] {re:classloading}
at net.minecraft.world.storage.DimensionSavedDataManager.func_215752_a(DimensionSavedDataManager.java:37) ~[?:?] {re:classloading}
at com.refinedmods.refinedstorage.apiimpl.API.getNetworkNodeManager(API.java:131) ~[?:1.8.6] {re:classloading}
at com.refinedmods.refinedstorage.tile.NetworkNodeTile.func_145829_t(NetworkNodeTile.java:76) ~[?:1.8.6] {re:classloading}
at net.minecraft.world.chunk.Chunk.func_177426_a(Chunk.java:408) ~[?:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,xf:fml:xaeroworldmap:xaero_wm_chunkclass,xf:fml:xaerominimap:xaero_chunkclass,pl:mixin:APP:phosphor.mixins.json:chunk.MixinChunk,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.world.chunk.Chunk.func_150813_a(Chunk.java:398) ~[?:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,xf:fml:xaeroworldmap:xaero_wm_chunkclass,xf:fml:xaerominimap:xaero_chunkclass,pl:mixin:APP:phosphor.mixins.json:chunk.MixinChunk,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.world.chunk.storage.ChunkSerializer.func_222650_a(ChunkSerializer.java:397) ~[?:?] {re:classloading}
at net.minecraft.world.chunk.storage.ChunkSerializer.lambda$read$2(ChunkSerializer.java:132) ~[?:?] {re:classloading}
at net.minecraft.world.chunk.Chunk.func_217318_w(Chunk.java:456) ~[?:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,xf:fml:xaeroworldmap:xaero_wm_chunkclass,xf:fml:xaerominimap:xaero_chunkclass,pl:mixin:APP:phosphor.mixins.json:chunk.MixinChunk,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.world.server.ChunkManager.lambda$null$25(ChunkManager.java:576) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at com.mojang.datafixers.util.Either.lambda$mapLeft$0(Either.java:162) ~[?:?] {re:classloading}
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[?:?] {re:classloading}
at com.mojang.datafixers.util.Either.mapLeft(Either.java:162) ~[?:?] {re:classloading}
at net.minecraft.world.server.ChunkManager.lambda$func_219200_b$26(ChunkManager.java:563) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602) ~[?:1.8.0_212] {}
at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577) ~[?:1.8.0_212] {}
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442) ~[?:1.8.0_212] {}
at net.minecraft.world.chunk.ChunkTaskPriorityQueueSorter.func_219083_b(SourceFile:58) ~[?:?] {re:classloading}
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213166_h(SourceFile:144) ~[?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.world.server.ServerChunkProvider$ChunkExecutor.func_213166_h(SourceFile:551) ~[?:?] {re:classloading}
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213168_p(SourceFile:118) ~[?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.world.server.ServerChunkProvider$ChunkExecutor.func_213168_p(SourceFile:560) ~[?:?] {re:classloading}
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213161_c(SourceFile:127) ~[?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.world.server.ServerChunkProvider.func_212849_a_(SourceFile:139) ~[?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.world.World.func_217353_a(World.java:149) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.world.IWorldReader.func_217348_a(IWorldReader.java:101) ~[?:?] {re:classloading,pl:runtimedistcleaner:A,re:mixin,pl:runtimedistcleaner:A}
at net.minecraft.world.World.func_212866_a_(World.java:145) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.world.server.ServerWorld.func_217458_b(ServerWorld.java:1267) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,xf:fml:quark:change-sleeping-player-count,xf:fml:quark:add-rave-hook,xf:fml:immersiveengineering:IE block update callback,pl:mixin:APP:assets/fruittrees/fruittrees.mixins.json:MixinServerWorld,pl:mixin:A,pl:runtimedistcleaner:A}
at com.oitsjustjose.persistentbits.common.capability.ChunkLoaderList.load(ChunkLoaderList.java:102) ~[?:2.0.3] {re:classloading}
at com.oitsjustjose.persistentbits.common.capability.ChunkLoaderList$Storage.lambda$readNBT$0(ChunkLoaderList.java:179) ~[?:2.0.3] {re:classloading}
at net.minecraft.util.concurrent.TickDelayedTask.run(SourceFile:18) [?:?] {re:classloading}
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213166_h(SourceFile:144) [?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.util.concurrent.RecursiveEventLoop.func_213166_h(SourceFile:23) [?:?] {re:classloading}
at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:731) [?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:141) [?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213168_p(SourceFile:118) [?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.func_213205_aW(MinecraftServer.java:714) [?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.server.MinecraftServer.func_213168_p(MinecraftServer.java:708) [?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213161_c(SourceFile:127) [?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.func_213202_o(MinecraftServer.java:694) [?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.server.MinecraftServer.func_213186_a(MinecraftServer.java:467) [?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.server.MinecraftServer.func_71247_a(MinecraftServer.java:366) [?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:212) [?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:613) [?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212] {}