Hammerz

Hammerz

505k Downloads

Block Harvest fails with Botania 1.8.9 / Hammerz 0.1.3.11

Thiana opened this issue ยท 7 comments

commented

I'm reporting this to both Hammerz and Botania 1.8.9 port repos since the bug only occurs when both mods are installed.

The problem is that blocks are not dropping their item form when broken with a pickaxe (tested diamond/manasteel). ie, diamonds dont drop from diamond ore, cobble doesn't drop from stone. If I use a hammer the items drop correctly.

The log fragment I think is relevant:

[19:13:51] [Server thread/ERROR] [FML/]: Exception caught during firing event net.minecraftforge.event.world.BlockEvent$HarvestDropsEvent@7ad57097:
java.lang.NullPointerException
    at vapourdrive.hammerz.handlers.DropHandler.onHarvestDrops(DropHandler.java:31) ~[DropHandler.class:?]
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_86_DropHandler_onHarvestDrops_HarvestDropsEvent.invoke(.dynamic) ~[?:?]
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:55) ~[ASMEventHandler.class:?]
    at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:140) [EventBus.class:?]
    at net.minecraftforge.event.ForgeEventFactory.fireBlockHarvesting(ForgeEventFactory.java:187) [ForgeEventFactory.class:?]
    at net.minecraft.block.Block.func_180653_a(Block.java:493) [afh.class:?]
    at net.minecraft.block.BlockOre.func_180653_a(BlockOre.java:60) [aim.class:?]
    at net.minecraft.block.Block.func_176226_b(Block.java:485) [afh.class:?]
    at net.minecraft.block.Block.func_180657_a(Block.java:832) [afh.class:?]
    at net.minecraft.server.management.ItemInWorldManager.func_180237_b(ItemInWorldManager.java:312) [lg.class:?]
    at net.minecraft.server.management.ItemInWorldManager.func_180785_a(ItemInWorldManager.java:234) [lg.class:?]
    at net.minecraft.network.NetHandlerPlayServer.func_147345_a(NetHandlerPlayServer.java:536) [lm.class:?]
    at net.minecraft.network.play.client.C07PacketPlayerDigging.func_148833_a(SourceFile:40) [ir.class:?]
    at net.minecraft.network.play.client.C07PacketPlayerDigging.func_148833_a(SourceFile:10) [ir.class:?]
    at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) [fh$1.class:?]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_25]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_25]
    at net.minecraft.util.Util.func_181617_a(SourceFile:44) [g.class:?]
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:660) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:605) [MinecraftServer.class:?]
    at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:152) [bpo.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:481) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_25]
[19:13:51] [Server thread/ERROR] [FML/]: Index: 3 Listeners:
[19:13:51] [Server thread/ERROR] [FML/]: 0: NORMAL
[19:13:51] [Server thread/ERROR] [FML/]: 1: ASM: vazkii.botania.common.item.equipment.tool.elementium.ItemElementiumPick@3ee0a533 onHarvestDrops(Lnet/minecraftforge/event/world/BlockEvent$HarvestDropsEvent;)V
[19:13:51] [Server thread/ERROR] [FML/]: 2: ASM: vazkii.botania.common.item.equipment.tool.ItemGlassPick@160e6384 onBlockDrops(Lnet/minecraftforge/event/world/BlockEvent$HarvestDropsEvent;)V
[19:13:51] [Server thread/ERROR] [FML/]: 3: ASM: vapourdrive.hammerz.handlers.DropHandler@37013dda onHarvestDrops(Lnet/minecraftforge/event/world/BlockEvent$HarvestDropsEvent;)V

The full log is available at http://pastebin.com/7aVEfWWb

To reproduce, install:
Forge - 1697
Hammerz - 1.8.9-0.1.3.11.jar
Botania - 1.8-248-MC1.8-568ee04

Then break a block with a diamond/manasteel pickaxe.

Thanks.

commented

yeah, the eventhandler NPE's

commented

So is this a crash?

commented

Not sure if this is our fault, you say that you can reproduce by using a manasteel pickaxe, except that our eventhandler doesn't apply at all unless the tool is an elementium, terrasteel, or glass pickaxe

Are you sure you can only do it with botania installed?

commented

I would say this isn't Botania's fault at all, I'll add yet more null checks and see what's up.

commented

@williewillus Positive. With either mod on its own everything works perfectly. Add them together and no drops. Thats why I reported on both repos since it seemed likely to be some sort of interaction in the handlers.

Edit: And it seems to be any tool that isnt a hammer. ie, axes/shovels/pickaxes both vanilla and botania.

commented

Strange that this hasn't caused an issue before. Either way, I changed how I handle stacks where I'm not sure that the item is a Hammer so this type of thing shouldn't pop up anymore.
Will see if I can push the release tonight (if I can log into curse from where I am >.>)