ColinGBos / Hammerz

Minecraft Mod adding hammers to various other toolsets
MIT License
5 stars 4 forks source link

Block Harvest fails with Botania 1.8.9 / Hammerz 0.1.3.11 #5

Closed Thiana closed 8 years ago

Thiana commented 8 years ago

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.

Thiana commented 8 years ago

williewillus/Botania/issues/45

ColinGBos commented 8 years ago

So is this a crash?

williewillus commented 8 years ago

yeah, the eventhandler NPE's

williewillus commented 8 years ago

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?

ColinGBos commented 8 years ago

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

Thiana commented 8 years ago

@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.

ColinGBos commented 8 years ago

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 >.>)