Machine ordered ingredientNumber crash
Lithorn opened this issue ยท 11 comments
Was making Tough Alloy when this happened.
Now when I load the world this happens.
Am backed up but I want to use that Alloy Furnace.. Dangit.
Not sure if I posted this to the right Github as I was asked why I was posting it there.. I thought you would post issues in the pack github and then the Dev would seek the aid of the mod maker. Hopefully I won't be bouncing between Githubs
This is a Nuclearcraft bug, crashed in a fresh install with just Nuclearcraft and JEI.
Crashlog: https://pastebin.com/bAYgNRWa
Steps to replicate:
- Have a powered Alloy Furnace (used Califwhatever RTGs on 5 sides)
- Fully upgrade the Alloy Furnace with Speed and Energy Upgrades. (upgrades are important, doesn't seem to crash without upgrades. It will crash with less but either didn't crash or I'm misremembering my tests when I only used 1 upgrade, and I don't have time to keep making new worlds to test right now.)
- Place Lithium DUST in the first slot. (doesn't seem to crash in the second slot)
- Place Ferroborn Ingot in the second slot.
- Crash almost always happens before the first ingot is produced.
Thanks for the heads up - this was actually reported to me in our Discord server the other day, and I know how to fix it. I'll try to get a new build out as soon as possible, but right now I'm in the middle of a few mock-exam-type-things and it'll be a couple of days before I can sort it out!
Real Life comes first...glad you already know the fix, and look forward to seeing it out when you have time.
I should mention that, for now, you should be able to avoid crashes like this in general as long as the ingredients are positioned in the order they appear in JEI ;)
I have the same problem.
But i found out that it only happens with lithium dust in the false slot.
When you take lithium ingots it dosen't crash no matter which slot you use.
Yep, that's because the ingot is the first of the allowed lithium ingredients in the registered recipe. What's happening is that NC needs to know which ingredient in that list of possible inputs is actually being used, but it's getting them the wrong way round because it's incorrectly taking into account the ordering of the inputs in the machine. When the dust goes into the second slot, which is specified as the second allowed lithium-type ingredient in the recipe, it tries to get the second allowed ferroboron instead because ferroboron is the second ingredient in the tough alloy recipe, which doesn't exist and throws that out of bounds error.
Hey, just wanted to report that this same issue happens with the chemical reactor. The small difference in my crash is that it's all fluid based and not item based:
java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.rangeCheck(ArrayList.java:657)
at java.util.ArrayList.get(ArrayList.java:433)
at nc.recipe.ingredient.FluidArrayIngredient.getMaxStackSize(FluidArrayIngredient.java:53)
at nc.tile.processor.TileFluidProcessor.produceProducts(TileFluidProcessor.java:282)
at nc.tile.processor.TileFluidProcessor.finishProcess(TileFluidProcessor.java:263)
at nc.tile.processor.TileFluidProcessor.process(TileFluidProcessor.java:258)
at nc.tile.processor.TileFluidProcessor.updateProcessor(TileFluidProcessor.java:127)
at nc.tile.processor.TileFluidProcessor.func_73660_a(TileFluidProcessor.java:119)
at net.minecraft.world.World.func_72939_s(World.java:1835)
at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:613)
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:767)
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:397)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526)
at java.lang.Thread.run(Thread.java:748)
-- Block entity being ticked --
Details:
Name: nuclearcraft:chemical_reactor // nc.tile.processor.TileProcessor.ChemicalReactor
Block type: ID #452 (tile.nuclearcraft.chemical_reactor_idle // nc.block.tile.processor.BlockProcessor // nuclearcraft:chemical_reactor_idle)
Block data value: 5 / 0x5 / 0b0101
Block location: World: (-3067,64,1029), Chunk: (at 5,4,5 in -192,64; contains blocks -3072,0,1024 to -3057,255,1039), Region: (-6,2; contains chunks -192,64 to -161,95, blocks -3072,0,1024 to -2561,255,1535)
Actual block type: ID #453 (tile.nuclearcraft.chemical_reactor_active // nc.block.tile.processor.BlockProcessor // nuclearcraft:chemical_reactor_active)
Actual block data value: 5 / 0x5 / 0b0101
Stacktrace:
at net.minecraft.world.World.func_72939_s(World.java:1835)
at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:613)
Hope this helps :)
I have another crash report for ya just for record keeping :) https://pastebin.com/k4XjrJ8G