Ad Astra

Ad Astra

23M Downloads

[Bug]: Tesseract incompatibility, crash on fluid insert

Mieridduryn opened this issue ยท 0 comments

commented

Bug Description

A server (the game, in the case of singleplayer play) will crash when an Ad Astra pipe in extract mode is connected to a Tesseract that has a fluid channel active.

From what I understand, this is the result of Ad Astra's pipe code not knowing how to interact with the Tesseract. I could be wrong. That's just my guess from the error/crash logs.

My logs are from Neruina (which makes the game not crash, and instead throws the error that would have crashed me into the regular Minecraft log), but I am willing to actually crash my game for science if necessary.

How to Reproduce?

  1. Place down a block that contains some sort of fluid, e.g. a tank.
  2. Place down a Tesseract.
  3. Activate a fluid transfer channel in the Tesseract's GUI.
  4. Connect the two blocks with pipes.
  5. Game crashes if the pipe connected to the Tesseract is in normal or extract mode.

Expected Behavior

The pipe should provide its fluid to the Tesseract's active fluid channel. The game should not crash.

Version

1.15.18

Mod Loader Version

1.20.1 - 0.15.10

Mod Loader

Fabric

Logs or additional context

[20:04:12] [Server thread/WARN]: Neruina Caught Exception
java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
at jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64) ~[?:?]
at jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70) ~[?:?]
at jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266) ~[?:?]
at java.util.Objects.checkIndex(Objects.java:359) ~[?:?]
at java.util.ArrayList.get(ArrayList.java:427) ~[?:?]
at earth.terrarium.botarium.common.fluid.base.FluidContainer.getFirstFluid(FluidContainer.java:249) ~[botarium-fabric-1.20.1-2.3.3.jar:?]
at earth.terrarium.adastra.common.blockentities.pipes.FluidPipeBlockEntity.addNode(FluidPipeBlockEntity.java:24) ~[ad_astra-fabric-1.20.1-1.15.18.jar:?]
at earth.terrarium.adastra.common.blockentities.pipes.Pipe.findNodes(Pipe.java:49) ~[ad_astra-fabric-1.20.1-1.15.18.jar:?]
at earth.terrarium.adastra.common.blockentities.pipes.PipeBlockEntity.serverTick(PipeBlockEntity.java:41) ~[ad_astra-fabric-1.20.1-1.15.18.jar:?]
at earth.terrarium.adastra.common.blocks.base.BasicEntityBlock.lambda$getTicker$2(BasicEntityBlock.java:64) ~[ad_astra-fabric-1.20.1-1.15.18.jar:?]
at net.minecraft.class_2818$class_5563.mixinextras$bridge$tick$11(class_2818.java) ~[client-intermediary.jar:?]
at com.bawnorton.neruina.handler.NeruinaTickHandler.safelyTickBlockEntity$notTheCauseOfTickLag(NeruinaTickHandler.java:96) ~[neruina-1.3.0-fabric+1.18.2-1.20.1.jar:?]
at net.minecraft.class_2818$class_5563.wrapOperation$iic000$neruina$catchTickingBlockEntity(class_2818.java:1285) ~[client-intermediary.jar:?]
at net.minecraft.class_2818$class_5563.method_31703(class_2818.java:662) ~[client-intermediary.jar:?]
at net.minecraft.class_2818$class_5564.method_31703(class_2818.java:716) ~[client-intermediary.jar:?]
at net.minecraft.class_1937.method_18471(class_1937.java:470) ~[client-intermediary.jar:?]
at net.minecraft.class_3218.method_18765(class_3218.java:390) ~[client-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:897) ~[client-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:824) ~[client-intermediary.jar:?]
at net.minecraft.class_1132.method_3748(class_1132.java:105) ~[client-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:671) ~[client-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:265) ~[client-intermediary.jar:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
[20:04:12] [Render thread/INFO]: Mixing client.MixinGuiMessageTag from mixins/common/nochatreports.mixins.json into net.minecraft.class_7591
[20:04:12] [Render thread/INFO]: [CHAT] [Neruina]: Caught Ticking Block Entity [Ostrum Fluid Pipe] at position [x=-1, y=-60, z=-12]. Please resolve.
[20:04:22] [Server thread/WARN]: Neruina Caught Exception
java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
at jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64) ~[?:?]
at jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70) ~[?:?]
at jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266) ~[?:?]
at java.util.Objects.checkIndex(Objects.java:359) ~[?:?]
at java.util.ArrayList.get(ArrayList.java:427) ~[?:?]
at earth.terrarium.botarium.common.fluid.base.FluidContainer.getFirstFluid(FluidContainer.java:249) ~[botarium-fabric-1.20.1-2.3.3.jar:?]
at earth.terrarium.adastra.common.blockentities.pipes.FluidPipeBlockEntity.addNode(FluidPipeBlockEntity.java:24) ~[ad_astra-fabric-1.20.1-1.15.18.jar:?]
at earth.terrarium.adastra.common.blockentities.pipes.Pipe.findNodes(Pipe.java:49) ~[ad_astra-fabric-1.20.1-1.15.18.jar:?]
at earth.terrarium.adastra.common.blockentities.pipes.PipeBlockEntity.serverTick(PipeBlockEntity.java:41) ~[ad_astra-fabric-1.20.1-1.15.18.jar:?]
at earth.terrarium.adastra.common.blocks.base.BasicEntityBlock.lambda$getTicker$2(BasicEntityBlock.java:64) ~[ad_astra-fabric-1.20.1-1.15.18.jar:?]
at net.minecraft.class_2818$class_5563.mixinextras$bridge$tick$11(class_2818.java) ~[client-intermediary.jar:?]
at com.bawnorton.neruina.handler.NeruinaTickHandler.safelyTickBlockEntity$notTheCauseOfTickLag(NeruinaTickHandler.java:96) ~[neruina-1.3.0-fabric+1.18.2-1.20.1.jar:?]
at net.minecraft.class_2818$class_5563.wrapOperation$iic000$neruina$catchTickingBlockEntity(class_2818.java:1285) ~[client-intermediary.jar:?]
at net.minecraft.class_2818$class_5563.method_31703(class_2818.java:662) ~[client-intermediary.jar:?]
at net.minecraft.class_2818$class_5564.method_31703(class_2818.java:716) ~[client-intermediary.jar:?]
at net.minecraft.class_1937.method_18471(class_1937.java:470) ~[client-intermediary.jar:?]
at net.minecraft.class_3218.method_18765(class_3218.java:390) ~[client-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:897) ~[client-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:824) ~[client-intermediary.jar:?]
at net.minecraft.class_1132.method_3748(class_1132.java:105) ~[client-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:671) ~[client-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:265) ~[client-intermediary.jar:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
[20:04:22] [Render thread/INFO]: [CHAT] [Neruina]: Caught Ticking Block Entity [Ostrum Fluid Pipe] at position [x=-1, y=-60, z=-12]. Please resolve.

Code of Conduct

  • I have searched the issue tracker and confirmed that the issue has not been reported
  • I have checked the FAQ (if one is present) and my issue is not listed
  • I have verified that I am using the latest version of the mod
  • I have verified that I have installed all the required dependencies for the mod
  • I have verified that I do not have Optifine installed. We will close issues if we detect Optifine is in your pack. We cannot fix Optifine issues. Please do not report issues with Optifine present.