MehVahdJukaar / Moonlight

GNU General Public License v3.0
53 stars 29 forks source link

[🐞]: Adding and removing fluids to/from Supplementaries' jars not registering properly #269

Open Jirickal opened 2 weeks ago

Jirickal commented 2 weeks ago

BEFORE CONTINUING:

Version-Loader

1.20.1-forge

Moonlight Lib Version

2.13.20

Issue Detail

When the current version of Moonlight Lib is installed, Supplementaries' jars are not behaving as expected (this affects at least both Supplementaries 2.8.17 and 3.0.1). Adding fluids to the jars does not update the container and mark it as empty, similarly trying to remove anything from the jar only decreases the fluid level of the jar but does not give the player anything.

Tested with honey bottles and water buckets on a clean install with only Supplementaries and Moonlight Lib installed, Forge 47.3.0. The issue is not present when the previous version of the library (2.13.18) is used.

Log Attachment

Excerpt from the log likely related to the issue:

[Server thread/ERROR] [minecraft/PacketUtils]: Failed to handle packet net.minecraft.network.protocol.game.ServerboundUseItemOnPacket@751a7259, suppressing error
java.lang.NullPointerException: Cannot invoke "java.util.Map.get(Object)" because the return value of "java.util.WeakHashMap.get(Object)" is null
    at net.mehvahdjukaar.moonlight.core.fluid.SoftFluidInternal.fromVanillaItem(SoftFluidInternal.java:42) ~[moonlight-1.20-2.13.20-forge.jar%23158!/:?] {re:classloading}
    at net.mehvahdjukaar.moonlight.api.fluids.SoftFluidStack.fromItem(SoftFluidStack.java:325) ~[moonlight-1.20-2.13.20-forge.jar%23158!/:?] {re:classloading}
    at net.mehvahdjukaar.moonlight.api.fluids.SoftFluidTank.drainItem(SoftFluidTank.java:103) ~[moonlight-1.20-2.13.20-forge.jar%23158!/:?] {re:classloading}
    at net.mehvahdjukaar.moonlight.api.fluids.SoftFluidTank.drainItem(SoftFluidTank.java:92) ~[moonlight-1.20-2.13.20-forge.jar%23158!/:?] {re:classloading}
    at net.mehvahdjukaar.moonlight.api.fluids.SoftFluidTank.interactWithItem(SoftFluidTank.java:85) ~[moonlight-1.20-2.13.20-forge.jar%23158!/:?] {re:classloading}
    at net.mehvahdjukaar.moonlight.api.fluids.SoftFluidTank.interactWithPlayer(SoftFluidTank.java:59) ~[moonlight-1.20-2.13.20-forge.jar%23158!/:?] {re:classloading}
    at net.mehvahdjukaar.supplementaries.common.block.tiles.JarBlockTile.handleInteraction(JarBlockTile.java:83) ~[supplementaries-1.20-3.0.1.jar%23159!/:?] {re:classloading}
    at net.mehvahdjukaar.supplementaries.common.block.blocks.JarBlock.m_6227_(JarBlock.java:83) ~[supplementaries-1.20-3.0.1.jar%23159!/:?] {re:classloading}
    at net.minecraft.world.level.block.state.BlockBehaviour$BlockStateBase.m_60664_(BlockBehaviour.java:778) ~[client-1.20.1-20230612.114412-srg.jar%23160!/:?] {re:mixin,re:classloading,pl:mixin:A}
    at net.minecraft.server.level.ServerPlayerGameMode.m_7179_(ServerPlayerGameMode.java:343) ~[client-1.20.1-20230612.114412-srg.jar%23160!/:?] {re:classloading}
    at net.minecraft.server.network.ServerGamePacketListenerImpl.m_6371_(ServerGamePacketListenerImpl.java:1057) ~[client-1.20.1-20230612.114412-srg.jar%23160!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:supplementaries-common.mixins.json:ServerGamePacketListenerMixin,pl:mixin:A}
    at net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.m_5797_(ServerboundUseItemOnPacket.java:34) ~[client-1.20.1-20230612.114412-srg.jar%23160!/:?] {re:classloading}
    at net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.m_5797_(ServerboundUseItemOnPacket.java:8) ~[client-1.20.1-20230612.114412-srg.jar%23160!/:?] {re:classloading}
    at net.minecraft.network.protocol.PacketUtils.m_263899_(PacketUtils.java:22) ~[client-1.20.1-20230612.114412-srg.jar%23160!/:?] {re:classloading}
    at net.minecraft.server.TickTask.run(TickTask.java:18) ~[client-1.20.1-20230612.114412-srg.jar%23160!/:?] {re:classloading,re:mixin}
    at net.minecraft.util.thread.BlockableEventLoop.m_6367_(BlockableEventLoop.java:156) ~[client-1.20.1-20230612.114412-srg.jar%23160!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
    at net.minecraft.util.thread.ReentrantBlockableEventLoop.m_6367_(ReentrantBlockableEventLoop.java:23) ~[client-1.20.1-20230612.114412-srg.jar%23160!/:?] {re:mixin,re:computing_frames,re:classloading}
    at net.minecraft.server.MinecraftServer.m_6367_(MinecraftServer.java:770) ~[client-1.20.1-20230612.114412-srg.jar%23160!/:?] {re:classloading,pl:accesstransformer:B,re:mixin,pl:accesstransformer:B}
    at net.minecraft.server.MinecraftServer.m_6367_(MinecraftServer.java:161) ~[client-1.20.1-20230612.114412-srg.jar%23160!/:?] {re:classloading,pl:accesstransformer:B,re:mixin,pl:accesstransformer:B}
    at net.minecraft.util.thread.BlockableEventLoop.m_7245_(BlockableEventLoop.java:130) ~[client-1.20.1-20230612.114412-srg.jar%23160!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
    at net.minecraft.server.MinecraftServer.m_129961_(MinecraftServer.java:753) ~[client-1.20.1-20230612.114412-srg.jar%23160!/:?] {re:classloading,pl:accesstransformer:B,re:mixin,pl:accesstransformer:B}
    at net.minecraft.server.MinecraftServer.m_7245_(MinecraftServer.java:747) ~[client-1.20.1-20230612.114412-srg.jar%23160!/:?] {re:classloading,pl:accesstransformer:B,re:mixin,pl:accesstransformer:B}
    at net.minecraft.util.thread.BlockableEventLoop.m_18701_(BlockableEventLoop.java:139) ~[client-1.20.1-20230612.114412-srg.jar%23160!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
    at net.minecraft.server.MinecraftServer.m_130012_(MinecraftServer.java:733) ~[client-1.20.1-20230612.114412-srg.jar%23160!/:?] {re:classloading,pl:accesstransformer:B,re:mixin,pl:accesstransformer:B}
    at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:665) ~[client-1.20.1-20230612.114412-srg.jar%23160!/:?] {re:classloading,pl:accesstransformer:B,re:mixin,pl:accesstransformer:B}
    at net.minecraft.server.MinecraftServer.m_206580_(MinecraftServer.java:251) ~[client-1.20.1-20230612.114412-srg.jar%23160!/:?] {re:classloading,pl:accesstransformer:B,re:mixin,pl:accesstransformer:B}
    at java.lang.Thread.run(Unknown Source) ~[?:?] {}

OPTIONAL: To Produce

No response

OPTIONAL: Which mods are affected?

Supplementaries