Mining a Wizardry Wisdom Tree with an Atomic Disassembler in vein mode causes crash
TigerWalts opened this issue ยท 1 comments
Issue description:
When breaking Wisdom Trees with the Atomic Disassembler in Vein mode, an Exception is thrown when the loop finding all the blocks reaches a Wisdom Leaf Block.
The LibrarianLib getPickBlock()
method requires the player
argument to be non-null. When breaking multiple blocks, Mekanism calls this method with the argument set to null
- ItemAtomicDisassembler.java:414.
This crash is similar to issue #5034 only this time the player
argument is the cause and the call is being made from the Finder
class' loop
method.
Steps to reproduce:
- Place multiple Wisdom Wool Logs next to each other
- Place some Wisdom Leaves touching the Wisdom Wool Logs
- Set your Atomic Disassembler to Vein mode
- Mine the Wisdom Wood Logs
On SSP, the error will appear in the log, but the game will continue to run. On a Dedicated server, the Exception will cause the server to restart.
Version (make sure you are on the latest version before reporting):
Forge: 14.23.4.2715
Mekanism: 1.12.2-9.4.13.349
Wizardry: 0.8.5
LibrarianLib: 1.12.2-4.9
Modpack - All the Mods 3: 5.9.8d
If a (crash)log is relevant for this issue, link it here: (It's almost always relevant)
java.lang.IllegalArgumentException: Parameter specified as non-null is null: method com.teamwizardry.librarianlib.features.base.block.BlockModLeaves.getPickBlock, parameter player
at com.teamwizardry.librarianlib.features.base.block.BlockModLeaves.getPickBlock(BlockModLeaves.kt)
at mekanism.common.item.ItemAtomicDisassembler$Finder.loop(ItemAtomicDisassembler.java:414)
at mekanism.common.item.ItemAtomicDisassembler$Finder.loop(ItemAtomicDisassembler.java:418)
at mekanism.common.item.ItemAtomicDisassembler$Finder.calc(ItemAtomicDisassembler.java:425)
at mekanism.common.item.ItemAtomicDisassembler.onBlockStartBreak(ItemAtomicDisassembler.java:163)
at net.minecraft.server.management.PlayerInteractionManager.func_180237_b(PlayerInteractionManager.java:302)
at net.minecraft.server.management.PlayerInteractionManager.func_73075_a(PlayerInteractionManager.java:109)
at net.minecraft.entity.player.EntityPlayerMP.func_70071_h_(EntityPlayerMP.java:316)
at net.minecraft.world.World.func_72866_a(World.java:1990)
at net.minecraft.world.WorldServer.func_72866_a(WorldServer.java:832)
at net.minecraft.world.World.func_72870_g(World.java:1952)
at net.minecraft.world.WorldServer.func_184147_l(WorldServer.java:642)
at net.minecraft.world.World.func_72939_s(World.java:1731)
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:396)
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)
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- Head --
Thread: Server thread
Stacktrace:
at com.teamwizardry.librarianlib.features.base.block.BlockModLeaves.getPickBlock(BlockModLeaves.kt)
at mekanism.common.item.ItemAtomicDisassembler$Finder.loop(ItemAtomicDisassembler.java:414)
at mekanism.common.item.ItemAtomicDisassembler$Finder.loop(ItemAtomicDisassembler.java:418)
at mekanism.common.item.ItemAtomicDisassembler$Finder.calc(ItemAtomicDisassembler.java:425)
at mekanism.common.item.ItemAtomicDisassembler.onBlockStartBreak(ItemAtomicDisassembler.java:163)
at net.minecraft.server.management.PlayerInteractionManager.func_180237_b(PlayerInteractionManager.java:302)
at net.minecraft.server.management.PlayerInteractionManager.func_73075_a(PlayerInteractionManager.java:109)
at net.minecraft.entity.player.EntityPlayerMP.func_70071_h_(EntityPlayerMP.java:316)
at net.minecraft.world.World.func_72866_a(World.java:1990)
at net.minecraft.world.WorldServer.func_72866_a(WorldServer.java:832)
at net.minecraft.world.World.func_72870_g(World.java:1952)
I worked around this bug with TeamWizardry/LibrarianLib@87bd975