Project Red - Fabrication

Project Red - Fabrication

19M Downloads

crash when requesting items from a locker from BetterStorage

jodamm opened this issue ยท 1 comments

commented

Project Red 4.3.7 build 32 Minecraft 1.6.4 (Attack of the B-Team 1.0.9c)

Time: 03.04.14 20:10
Description: Ticking tile entity

java.lang.NullPointerException
    at mrtjp.projectred.core.inventory.TDefWrapHandler$$anonfun$extractItem$1.apply$mcVI$sp(inventorywrappers.scala:391)
    at mrtjp.projectred.core.inventory.TDefWrapHandler$$anonfun$extractItem$1.apply(inventorywrappers.scala:386)
    at mrtjp.projectred.core.inventory.TDefWrapHandler$$anonfun$extractItem$1.apply(inventorywrappers.scala:386)
    at scala.collection.immutable.Range.foreach(Range.scala:141)
    at mrtjp.projectred.core.inventory.TDefWrapHandler$class.extractItem(inventorywrappers.scala:386)
    at mrtjp.projectred.core.inventory.VanillaWrapper.extractItem(inventorywrappers.scala:425)
    at mrtjp.projectred.transportation.ChipBroadcaster$$anonfun$update$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(ChipBroadcaster.scala:78)
    at mrtjp.projectred.transportation.ChipBroadcaster$$anonfun$update$1$$anonfun$apply$mcV$sp$1.apply(ChipBroadcaster.scala:41)
    at mrtjp.projectred.transportation.ChipBroadcaster$$anonfun$update$1$$anonfun$apply$mcV$sp$1.apply(ChipBroadcaster.scala:41)
    at mrtjp.projectred.core.utils.LabelBreaks.label(LabelBreaks.scala:13)
    at mrtjp.projectred.transportation.ChipBroadcaster$$anonfun$update$1.apply$mcV$sp(ChipBroadcaster.scala:41)
    at mrtjp.projectred.transportation.ChipBroadcaster$$anonfun$update$1.apply(ChipBroadcaster.scala:40)
    at mrtjp.projectred.transportation.ChipBroadcaster$$anonfun$update$1.apply(ChipBroadcaster.scala:40)
    at mrtjp.projectred.core.utils.LabelBreaks.label(LabelBreaks.scala:13)
    at mrtjp.projectred.transportation.ChipBroadcaster.update(ChipBroadcaster.scala:39)
    at mrtjp.projectred.transportation.RoutedInterfacePipePart$$anonfun$updateServer$1.apply(RoutedInterfacePipePart.scala:63)
    at mrtjp.projectred.transportation.RoutedInterfacePipePart$$anonfun$updateServer$1.apply(RoutedInterfacePipePart.scala:63)
    at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
    at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:108)
    at mrtjp.projectred.transportation.RoutedInterfacePipePart.updateServer(RoutedInterfacePipePart.scala:63)
    at mrtjp.projectred.transportation.RoutedJunctionPipePart.update(RoutedJunctionPipePart.scala:187)
    at codechicken.multipart.TileMultipart$$anonfun$updateEntity$1.apply(TileMultipart.scala:85)
    at codechicken.multipart.TileMultipart$$anonfun$updateEntity$1.apply(TileMultipart.scala:85)
    at codechicken.multipart.TileMultipart.operate(TileMultipart.scala:79)
    at codechicken.multipart.TileMultipart.func_70316_g(TileMultipart.scala:85)
    at net.minecraft.world.World.func_72939_s(World.java:2209)
    at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:550)
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:668)
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:587)
    at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:129)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:484)
    at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:583)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Stacktrace:
    at mrtjp.projectred.core.inventory.TDefWrapHandler$$anonfun$extractItem$1.apply$mcVI$sp(inventorywrappers.scala:391)
    at mrtjp.projectred.core.inventory.TDefWrapHandler$$anonfun$extractItem$1.apply(inventorywrappers.scala:386)
    at mrtjp.projectred.core.inventory.TDefWrapHandler$$anonfun$extractItem$1.apply(inventorywrappers.scala:386)
    at scala.collection.immutable.Range.foreach(Range.scala:141)
    at mrtjp.projectred.core.inventory.TDefWrapHandler$class.extractItem(inventorywrappers.scala:386)
    at mrtjp.projectred.core.inventory.VanillaWrapper.extractItem(inventorywrappers.scala:425)
    at mrtjp.projectred.transportation.ChipBroadcaster$$anonfun$update$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(ChipBroadcaster.scala:78)
    at mrtjp.projectred.transportation.ChipBroadcaster$$anonfun$update$1$$anonfun$apply$mcV$sp$1.apply(ChipBroadcaster.scala:41)
    at mrtjp.projectred.transportation.ChipBroadcaster$$anonfun$update$1$$anonfun$apply$mcV$sp$1.apply(ChipBroadcaster.scala:41)
    at mrtjp.projectred.core.utils.LabelBreaks.label(LabelBreaks.scala:13)
    at mrtjp.projectred.transportation.ChipBroadcaster$$anonfun$update$1.apply$mcV$sp(ChipBroadcaster.scala:41)
    at mrtjp.projectred.transportation.ChipBroadcaster$$anonfun$update$1.apply(ChipBroadcaster.scala:40)
    at mrtjp.projectred.transportation.ChipBroadcaster$$anonfun$update$1.apply(ChipBroadcaster.scala:40)
    at mrtjp.projectred.core.utils.LabelBreaks.label(LabelBreaks.scala:13)
    at mrtjp.projectred.transportation.ChipBroadcaster.update(ChipBroadcaster.scala:39)
    at mrtjp.projectred.transportation.RoutedInterfacePipePart$$anonfun$updateServer$1.apply(RoutedInterfacePipePart.scala:63)
    at mrtjp.projectred.transportation.RoutedInterfacePipePart$$anonfun$updateServer$1.apply(RoutedInterfacePipePart.scala:63)
    at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
    at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:108)
    at mrtjp.projectred.transportation.RoutedInterfacePipePart.updateServer(RoutedInterfacePipePart.scala:63)
    at mrtjp.projectred.transportation.RoutedJunctionPipePart.update(RoutedJunctionPipePart.scala:187)
    at codechicken.multipart.TileMultipart$$anonfun$updateEntity$1.apply(TileMultipart.scala:85)
    at codechicken.multipart.TileMultipart$$anonfun$updateEntity$1.apply(TileMultipart.scala:85)
    at codechicken.multipart.TileMultipart.operate(TileMultipart.scala:79)
    at codechicken.multipart.TileMultipart.func_70316_g(TileMultipart.scala:85)

-- Tile entity being ticked --
Details:
    Name: savedMultipart // TileMultipart_cmp$$19
    Block type: ID #1281 (tile.ccmultipart // codechicken.multipart.BlockMultipart)
    Block data value: 0 / 0x0 / 0b0000
    Block location: World: (67,55,306), Chunk: (at 3,3,2 in 4,19; contains blocks 64,0,304 to 79,255,319), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
    Actual block type: ID #1281 (tile.ccmultipart // codechicken.multipart.BlockMultipart)
    Actual block data value: 0 / 0x0 / 0b0000
Stacktrace:
    at net.minecraft.world.World.func_72939_s(World.java:2209)
    at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:550)

2014-04-03_20 24 45

to reproduce this crash:

  1. put some stacks of stone in the locker.
  2. insert an Item Broadcaster Chip with hidemode: one per type
  3. request 32 stone
  4. request 64 stone
commented

Such an inventory would probably need special code to work. Compat with many different types of inventories (i.e., barrels, etc) will come in the future. For now, stick to chests.