Refined Storage

Refined Storage

107M Downloads

[1.15.2] Crafter Manager allows shift click any item into Crafter

Tapac138 opened this issue · 2 comments

commented

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.

commented

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] {}
commented

You can save the world by opening up the network nodes file under world/data/ with NBT explorer. Finding the crafter that has the item inside and deleting it.