Quark

Quark

143M Downloads

Crash when altering cave root drops via HarvestDropsEvent

theishiopian opened this issue ยท 2 comments

commented

Mods that alter drops via HarvestDropsEvent, such as my mod liquid luck, cause a crash when adding drops to an event from breaking cave roots.

Crash Report:
https://pastebin.com/U3JjZdR5

Steps to reproduce:

  1. install quark and liquid luck.
  2. drink a luck potion or equip a fortune tool.
  3. break a bunch of cave roots.

I've patched my mod to just spawn the new drops manually, and clearing the drop list still seems to work. Still, its worth fixing in case other mods crash.

commented

Having something similar with Astral Sorcery

java.lang.UnsupportedOperationException
	at java.util.AbstractList.add(AbstractList.java:148)
	at net.minecraft.util.NonNullList.add(SourceFile:58)
	at java.util.AbstractList.add(AbstractList.java:108)
	at hellfirepvp.astralsorcery.common.event.listener.EventHandlerServer.onHarvest(EventHandlerServer.java:363)
	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_690_EventHandlerServer_onHarvest_HarvestDropsEvent.invoke(.dynamic)
	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
	at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182)
	at net.minecraftforge.event.ForgeEventFactory.fireBlockHarvesting(ForgeEventFactory.java:344)
	at net.minecraft.block.Block.func_180653_a(Block.java:572)
	at net.minecraft.block.Block.func_176226_b(Block.java:564)
	at vazkii.quark.world.block.BlockRoots.func_189540_a(BlockRoots.java:266)
	at net.minecraft.block.state.BlockStateContainer$StateImplementation.func_189546_a(BlockStateContainer.java:481)
	at net.minecraft.world.World.func_190524_a(World.java:551)
	at net.minecraft.world.World.func_175685_c(World.java:493)
	at net.minecraft.world.World.func_175722_b(World.java:440)
	at net.minecraft.world.World.markAndNotifyBlock(World.java:381)
	at net.minecraft.world.World.func_180501_a(World.java:361)
	at net.minecraft.block.Block.removedByPlayer(Block.java:1179)
	at net.minecraft.server.management.PlayerInteractionManager.removeBlock(PlayerInteractionManager.java:271)
	at net.minecraft.server.management.PlayerInteractionManager.func_180237_b(PlayerInteractionManager.java:324)
	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:1993)
	at net.minecraft.world.WorldServer.func_72866_a(WorldServer.java:832)
	at net.minecraft.world.World.func_72870_g(World.java:1955)
	at net.minecraft.world.WorldServer.func_184147_l(WorldServer.java:642)
	at net.minecraft.world.World.func_72939_s(World.java:1734)
	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:397)
	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)
commented

Update: Enderio crashes as well, looks like the same reason.
https://pastebin.com/YM1aMaq8