
Crafting Tables clear recipe on relog in SSP
wrobere opened this issue ยท 16 comments
I'm playing Infinity Evolved 2.1.3 using Log Pipes 0.9.3.68. Whenever I exit my game and relog back in my Logistic Pipes Crafting Tables clear their inventory.
I can confirm this is happening to me too, and it also happens with the automatic crafting table from BC.
Is there any kind of help or assistance? Do you want video or logs or screenshots?
Have you checked the pipes next to the Crafters for Upgrades? Especially Crafting Cleanup Upgrades?
Because those are what induces this behavior normally...
My setup at least is extremely simple: only basic, provider, supplier and crafting pipes. No chassis used yet, so it can't be the upgrades you mention
Upgrades aren't Modules. Upgrades extend a pipes Basic Functionality, while Modules give that Base-Ability to a Chassi.
Anyways. This seems to be a Bug indeed. But on the Other Hand, once you restart a Server aka. relog into your SSP World you clear the crafting Queue and any running requests anyways.
So I don't really see the problem with the Cleanup happening...
It should instead actually prevent you from wasting ressources on Crafts and prevent Confusion by stuck items inside a Crafting Block.
So I question this being a Bug.
Oh, right, my bad... it seems the issue isn't the inventory in my case: it isn't emptying the inventory, it is actually deleting the recipes I had in the crafting tables, so of course no autocrafting is taking place. I also tested and it doesn't happen in every relogging attempt, only sometimes.
Ah so the NBT Data seems to be lost somewhere.
If it happens on Relog, i suspect you are on a Singleplayer World?
so the recipes simply get lost on relog? Does your World come to a halt before or something?
maybe some of your worlds daa got corrupted so the NBT can't propperly safe...I can't help much here because im not so familliar with NBT and that stuff. Ill reffer thee to @davboecki
My setup is super simple.. I have Crafting Pipes connected to LP Crafting tables. One to One ratio. None of the recipe's have "waste". These are simple wood plank to sick, and pistons.
No, When I'm done for the day I exit minecraft (save and exit). When I start up minecreaft the next time, the recipe's are on teh pipe still, but missing from the table.
My world is SSP too, and I just checked that the recipes are only getting erased from BC autocrafting tables and LP crafting tables. Other mods' crafting tables, such as EnderIO's crafter, are unaffected
I am having this problem too. I looked in the log files and found this relevant stacktrace!
[15:11:49] [Server thread/ERROR] [FML]: A TileEntity logisticspipes.blocks.crafting.LogisticsCraftingTableTileEntity(logisticspipes.blocks.crafting.LogisticsCraftingTableTileEntity) has thrown an exception during loading, its state cannot be restored. Report this to the mod author
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(Unknown Source) ~[?:1.8.0_65]
at java.util.ArrayList$Itr.next(Unknown Source) ~[?:1.8.0_65]
at logisticspipes.blocks.crafting.LogisticsCraftingTableTileEntity.cacheRecipe(LogisticsCraftingTableTileEntity.java:71) ~[LogisticsCraftingTableTileEntity.class:0.9.3.local]
at logisticspipes.blocks.crafting.LogisticsCraftingTableTileEntity.func_145839_a(LogisticsCraftingTableTileEntity.java:307) ~[LogisticsCraftingTableTileEntity.class:0.9.3.local]
at net.minecraft.tileentity.TileEntity.func_145827_c(TileEntity.java:116) [aor.class:?]
at net.minecraft.world.chunk.storage.AnvilChunkLoader.loadEntities(AnvilChunkLoader.java:496) [aqk.class:?]
at net.minecraftforge.common.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:41) [ChunkIOProvider.class:?]
at net.minecraftforge.common.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:12) [ChunkIOProvider.class:?]
at net.minecraftforge.common.util.AsynchronousExecutor$Task.finish(AsynchronousExecutor.java:189) [AsynchronousExecutor$Task.class:?]
at net.minecraftforge.common.util.AsynchronousExecutor$Task.get(AsynchronousExecutor.java:165) [AsynchronousExecutor$Task.class:?]
at net.minecraftforge.common.util.AsynchronousExecutor.skipQueue(AsynchronousExecutor.java:341) [AsynchronousExecutor.class:?]
at net.minecraftforge.common.util.AsynchronousExecutor.getSkipQueue(AsynchronousExecutor.java:302) [AsynchronousExecutor.class:?]
at net.minecraftforge.common.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:12) [ChunkIOExecutor.class:?]
at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:126) [ms.class:?]
at net.minecraft.world.gen.ChunkProviderServer.func_73158_c(ChunkProviderServer.java:101) [ms.class:?]
at net.minecraft.world.gen.ChunkProviderServer.func_73154_d(ChunkProviderServer.java:199) [ms.class:?]
at net.minecraft.world.World.func_72964_e(World.java:419) [ahb.class:?]
at net.minecraft.world.World.func_147439_a(World.java:345) [ahb.class:?]
at logisticspipes.utils.TileBuffer.refresh(TileBuffer.java:44) [TileBuffer.class:0.9.3.local]
at logisticspipes.utils.TileBuffer.<init>(TileBuffer.java:28) [TileBuffer.class:0.9.3.local]
at logisticspipes.utils.TileBuffer.makeBuffer(TileBuffer.java:102) [TileBuffer.class:0.9.3.local]
at logisticspipes.pipes.basic.LogisticsTileGenericPipe.getTileCache(LogisticsTileGenericPipe.java:796) [LogisticsTileGenericPipe.class:0.9.3.local]
at logisticspipes.pipes.basic.LogisticsTileGenericPipe.refreshTileCacheOnSide(LogisticsTileGenericPipe.java:1115) [LogisticsTileGenericPipe.class:0.9.3.local]
at logisticspipes.routing.pathfinder.changedetection.TEControl$1.call(TEControl.java:66) [TEControl$1.class:0.9.3.local]
at logisticspipes.ticks.QueuedTasks.tickEnd(QueuedTasks.java:45) [QueuedTasks.class:0.9.3.local]
at cpw.mods.fml.common.eventhandler.ASMEventHandler_999_QueuedTasks_tickEnd_ServerTickEvent.invoke(.dynamic) [?:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) [ASMEventHandler.class:?]
at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140) [EventBus.class:?]
at cpw.mods.fml.common.FMLCommonHandler.onPostServerTick(FMLCommonHandler.java:247) [FMLCommonHandler.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:590) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:111) [bsx.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [?:?]
This error must be related to MineTweaker. The surrounding lines in the log file indicate MT is starting up at the time these errors happen. MT is logging from the client thread, while this error is occuring on the server thread. Thus, a concurrent modification error when MT adds/removes crafting recipes while LP is searching through them.
Related issue from FTB Infinity Evolved, which has a healthy number of MineTweaker scripts - a reload takes several seconds.
Similar issue related to Forestry crafting tables:
http://forum.feed-the-beast.com/threads/2-1-0-forestry-worktable-losing-recipes.134249/
I wonder if this is a problem on MineTweaker's side, since LogisticsPipes, BuildCraft and Forestry all seem to be affected. I haven't noticed if the TiCon crafting tables are also affected.