2xsaiko / rswires

Redstone wires
MIT License
5 stars 6 forks source link

crash #19

Closed superdumpling closed 3 years ago

superdumpling commented 3 years ago

I placed a red alloy wire ( i think it was ) on top of a downward facing dropper that had a kibe timer next to it and suddenly had a terrible crashing spree that for some reason caused dank storage to start crashing consistently and the wire that I placed was still causing crashes even after I removed it in amulet ( external minecraft world editor ). log below image

===========================

Description: Exception ticking world

java.lang.IllegalArgumentException: Cannot get property class_2746{name=up, clazz=class java.lang.Boolean, values=[true, false]} as it does not exist in Block{minecraft:air} at net.minecraft.class_2688.method_11654(class_2688.java:98) at net.dblsaiko.hctm.common.block.WireUtils.getOccupiedSides(WireUtils.java:360) at net.dblsaiko.rswires.common.block.RedstoneWireUtils.isReceivingPower(RedstoneWireUtils.java:370) at net.dblsaiko.rswires.common.block.RedAlloyWirePartExt.getInput(RedAlloyWirePartExt.java:210) at net.dblsaiko.rswires.common.block.RedstoneWireUtils.updateState(RedstoneWireUtils.java:359) at net.dblsaiko.rswires.common.block.RedstoneWireUtils.flushUpdates(RedstoneWireUtils.java:351) at net.dblsaiko.rswires.RSWires.onInitialize$lambda-0(RSWires.java:32) at net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents.lambda$static$6(ServerTickEvents.java:108) at net.minecraft.class_1937.handler$cfc000$tickWorldAfterBlockEntities(class_1937.java:4094) at net.minecraft.class_1937.method_18471(class_1937.java:479) at net.minecraft.class_3218.method_18765(class_3218.java:422) at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:891) at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:831) at net.minecraft.class_1132.method_3748(class_1132.java:118) at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:697) at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:270) at java.base/java.lang.Thread.run(Thread.java:831)

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

-- Head -- Thread: Server thread Stacktrace: at net.minecraft.class_2688.method_11654(class_2688.java:98) at net.dblsaiko.hctm.common.block.WireUtils.getOccupiedSides(WireUtils.java:360) at net.dblsaiko.rswires.common.block.RedstoneWireUtils.isReceivingPower(RedstoneWireUtils.java:370) at net.dblsaiko.rswires.common.block.RedAlloyWirePartExt.getInput(RedAlloyWirePartExt.java:210) at net.dblsaiko.rswires.common.block.RedstoneWireUtils.updateState(RedstoneWireUtils.java:359) at net.dblsaiko.rswires.common.block.RedstoneWireUtils.flushUpdates(RedstoneWireUtils.java:351) at net.dblsaiko.rswires.RSWires.onInitialize$lambda-0(RSWires.java:32) at net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents.lambda$static$6(ServerTickEvents.java:108)

-- Patchouli Book Info -- Details: Patchouli open book context: n/a Stacktrace: at net.minecraft.class_128.handler$bfl000$fillPatchouliContext(class_128.java:521) at net.minecraft.class_128.(class_128.java:48) at net.minecraft.class_128.method_560(class_128.java:342) at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:893) at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:831) at net.minecraft.class_1132.method_3748(class_1132.java:118) at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:697) at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:270) at java.base/java.lang.Thread.run(Thread.java:831)

===========================

2xsaiko commented 3 years ago

This is https://github.com/2xsaiko/hctm-base/issues/3. I should really fix that, shouldn't I... Good thing I'm currently working on the mod.

2xsaiko commented 3 years ago

Could you try the build from here and see if it fixes the issue before I make a rswires release? Just drop it in the mods folder next to rswires. https://ci.dblsaiko.net/job/hctm-base-master/21/

superdumpling commented 3 years ago

seems to fix it because the log changed from

java.lang.IllegalArgumentException: Cannot get property class_2746{name=up, clazz=class java.lang.Boolean, values=[true, false]} as it does not exist in Block{minecraft:air}

to

java.lang.NullPointerException: Cannot invoke "tfar.dankstorage.world.DankInventory.method_5439()" because the return value of "tfar.dankstorage.blockentity.DockBlockEntity.getInventory()" is null

but I can't rlly confirm because dank storage is still crashing lol, im in quite a pickle here because most of my good stuff are in the danks and they were working fine before and only started crashing when I first crashed with the red alloy wire, so not sure what's up with that

2xsaiko commented 3 years ago

Not sure about that, this bug most likely didn't cause that. I just had to add a check to handle an edge case where the wire block was dropped/removed but still treated as being a wire block which caused a crash.

Try reporting this on the Dank Storage issue tracker.