doriyan13 / SpringStory

v95 shroom simulator implemented via SpringBoot and java 21
MIT License
28 stars 26 forks source link

When killing some monsters I get an exception thrown #20

Closed Silwhoon closed 8 months ago

Silwhoon commented 8 months ago

I think this happens when a mob has no drop entries?

java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:115) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at com.dori.SpringStory.connection.netty.ChannelHandler.channelRead0(ChannelHandler.java:105) at com.dori.SpringStory.connection.netty.ChannelHandler.channelRead0(ChannelHandler.java:26) at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:1583)

Caused by: java.lang.NullPointerException: Cannot invoke "java.util.Collection.toArray()" because "c" is null at java.base/java.util.ArrayList.<init>(ArrayList.java:181) at com.dori.SpringStory.dataHandlers.MobDropHandler.getDropsByMobID(MobDropHandler.java:24) at com.dori.SpringStory.world.fieldEntities.mob.Mob.applyDrops(Mob.java:214) at com.dori.SpringStory.world.fieldEntities.mob.Mob.die(Mob.java:230) at com.dori.SpringStory.world.fieldEntities.mob.Mob.damage(Mob.java:251) at com.dori.SpringStory.client.character.attack.DamageInfo.apply(DamageInfo.java:52) at com.dori.SpringStory.client.character.attack.AttackInfo.lambda$apply$0(AttackInfo.java:123) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) at com.dori.SpringStory.client.character.attack.AttackInfo.apply(AttackInfo.java:123) at com.dori.SpringStory.connection.packet.handlers.UserHandler.handleUserAttack(UserHandler.java:87) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ... 25 more