Fulmineo64 / Guild

Other
6 stars 12 forks source link

Crash when completing quest while creative hotbar is full #3

Closed Alkiasan closed 3 years ago

Alkiasan commented 3 years ago

Modloader Fabric

Describe the bug When completing a quest, the items are put into your inventory, if your inventory is full, the internal server crashes.

To Reproduce Steps to reproduce the behavior:

  1. Open world in creative
  2. Accept and complete quest with hotbar full of items (So there's no room for the rewards)
  3. Booted back to multiplayer screen (Even in singleplayer) Expected behavior No errors.

Error in question:

**Encountered exception while handling in channel with name "guild:complete_quest_packet"
java.lang.NullPointerException: Cannot assign field "exp" because "data" is null
    at dev.fulmineo.guild.screen.QuestsScreenHandler.lambda$tryCompleteQuest$0(QuestsScreenHandler.java:110)
    at net.fabricmc.fabric.impl.networking.client.ClientPlayNetworkAddon.receive(ClientPlayNetworkAddon.java:97)
    at net.fabricmc.fabric.impl.networking.client.ClientPlayNetworkAddon.receive(ClientPlayNetworkAddon.java:39)
    at net.fabricmc.fabric.impl.networking.AbstractChanneledNetworkAddon.handle(AbstractChanneledNetworkAddon.java:100)
    at net.fabricmc.fabric.impl.networking.client.ClientPlayNetworkAddon.handle(ClientPlayNetworkAddon.java:89)
    at net.minecraft.class_634.handler$djc000$handleCustomPayload(class_634.java:2411)
    at net.minecraft.class_634.method_11152(class_634.java)
    at net.minecraft.class_2658.method_11457(class_2658.java:60)
    at net.minecraft.class_2658.method_11054(class_2658.java:8)
    at net.minecraft.class_2535.method_10759(class_2535.java:163)
    at net.minecraft.class_2535.method_10770(class_2535.java:150)
    at net.minecraft.class_2535.channelRead0(class_2535.java:53)
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965)
    at io.netty.channel.local.LocalChannel.readInbound(LocalChannel.java:304)
    at io.netty.channel.local.LocalChannel.finishPeerRead0(LocalChannel.java:446)
    at io.netty.channel.local.LocalChannel.access$400(LocalChannel.java:51)
    at io.netty.channel.local.LocalChannel$5.run(LocalChannel.java:404)
    at io.netty.channel.DefaultEventLoop.run(DefaultEventLoop.java:54)
    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
    at java.base/java.lang.Thread.run(Thread.java:831)**

Netty Error included with error:

Exception occurred in netty pipeline
java.lang.NullPointerException: Cannot assign field "exp" because "data" is null
    at dev.fulmineo.guild.screen.QuestsScreenHandler.lambda$tryCompleteQuest$0(QuestsScreenHandler.java:110)
    at net.fabricmc.fabric.impl.networking.client.ClientPlayNetworkAddon.receive(ClientPlayNetworkAddon.java:97)
    at net.fabricmc.fabric.impl.networking.client.ClientPlayNetworkAddon.receive(ClientPlayNetworkAddon.java:39)
    at net.fabricmc.fabric.impl.networking.AbstractChanneledNetworkAddon.handle(AbstractChanneledNetworkAddon.java:100)
    at net.fabricmc.fabric.impl.networking.client.ClientPlayNetworkAddon.handle(ClientPlayNetworkAddon.java:89)
    at net.minecraft.class_634.handler$djc000$handleCustomPayload(class_634.java:2411)
    at net.minecraft.class_634.method_11152(class_634.java)
    at net.minecraft.class_2658.method_11457(class_2658.java:60)
    at net.minecraft.class_2658.method_11054(class_2658.java:8)
    at net.minecraft.class_2535.method_10759(class_2535.java:163)
    at net.minecraft.class_2535.method_10770(class_2535.java:150)
    at net.minecraft.class_2535.channelRead0(class_2535.java:53)
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965)
    at io.netty.channel.local.LocalChannel.readInbound(LocalChannel.java:304)
Fulmineo64 commented 3 years ago

Hi Alkia, this error happens when you complete a quest of a Profession that you resigned from.

This error will get fixed in the release v.0.0.6. Thank you for opening the issue!