kitUIN / ChatImage

A Minecraft Mod Which Could Show Image In Chat Line
https://chatimage.kituin.fun
32 stars 5 forks source link

Sending an local image in chat causes all other players with ChatImage to disconnect when ChatImage is installed on the server #48

Closed Solaris9 closed 4 weeks ago

Solaris9 commented 1 month ago

Versions

Java 21 Minecraft Client + Server 1.20.6 Fabric Loader 0.15.11 ChatImage 1.2.4 for 1.20.5 (I assume it works on 1.20.6 as there is a 1.20.5-1.20.6 branch)

Steps to produce

  1. Have a fabric server and two fabric clients with ChatImage
  2. Have one client send an ChatImage code with a local file
  3. Watch the other client(s) with ChatImage be disconnected

Server Error

[18:13:03] [Netty Server IO #8/ERROR]: Error sending packet clientbound/minecraft:custom_payload
io.netty.handler.codec.EncoderException: Failed to encode packet 'clientbound/minecraft:custom_payload' (chatimage:file_info)
        at net.minecraft.class_9136.handler$zel000$fabric-networking-api-v1$encode(class_9136.java:547) ~[server-intermediary.jar:?]
        at net.minecraft.class_9136.method_56426(class_9136.java:55) ~[server-intermediary.jar:?]
        at net.minecraft.class_9136.encode(class_9136.java:14) ~[server-intermediary.jar:?]
        at net.minecraft.class_2545.method_10838(class_2545.java:26) ~[server-intermediary.jar:?]
        at net.minecraft.class_2545.encode(class_2545.java:12) ~[server-intermediary.jar:?]
        at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:107) ~[netty-codec-4.1.97.Final.jar:?]
        at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:881) ~[netty-transport-4.1.97.Final.jar:?]
        at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:863) ~[netty-transport-4.1.97.Final.jar:?]
        at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:968) ~[netty-transport-4.1.97.Final.jar:?]
        at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:856) ~[netty-transport-4.1.97.Final.jar:?]
        at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:113) ~[netty-codec-4.1.97.Final.jar:?]
        at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:881) ~[netty-transport-4.1.97.Final.jar:?]
        at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:863) ~[netty-transport-4.1.97.Final.jar:?]
        at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:968) ~[netty-transport-4.1.97.Final.jar:?]
        at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:856) ~[netty-transport-4.1.97.Final.jar:?]
        at io.netty.channel.ChannelOutboundHandlerAdapter.write(ChannelOutboundHandlerAdapter.java:113) ~[netty-transport-4.1.97.Final.jar:?]
        at net.minecraft.class_2535$2.write(class_2535.java:518) ~[server-intermediary.jar:?]
        at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:881) ~[netty-transport-4.1.97.Final.jar:?]
        at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:940) ~[netty-transport-4.1.97.Final.jar:?]
        at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:966) ~[netty-transport-4.1.97.Final.jar:?]
        at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:934) ~[netty-transport-4.1.97.Final.jar:?]
        at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:984) ~[netty-transport-4.1.97.Final.jar:?]
        at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1025) ~[netty-transport-4.1.97.Final.jar:?]
        at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:306) ~[netty-transport-4.1.97.Final.jar:?]
        at net.minecraft.class_2535.method_36942(class_2535.java:342) ~[server-intermediary.jar:?]
        at net.minecraft.class_2535.method_52917(class_2535.java:337) ~[server-intermediary.jar:?]
        at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[netty-common-4.1.97.Final.jar:?]
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[netty-common-4.1.97.Final.jar:?]
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.97.Final.jar:?]
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) ~[netty-transport-4.1.97.Final.jar:?]
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.97.Final.jar:?]
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.97.Final.jar:?]
        at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]
Caused by: java.lang.ClassCastException: class io.github.kituin.chatimage.network.FileInfoChannelPacket cannot be cast to class net.minecraft.class_8711 (io.github.kituin.chatimage.network.FileInfoChannelPacket and net.minecraft.class_8711 are in unnamed module of loader net.fabricmc.loader.impl.launch.knot.KnotClassLoader @1ce92674)
        at net.minecraft.class_9139$6.encode(class_9139.java:42) ~[server-intermediary.jar:?]
        at net.minecraft.class_8710$1.method_56489(class_8710.java:52) ~[server-intermediary.jar:?]
        at net.minecraft.class_8710$1.method_56490(class_8710.java:57) ~[server-intermediary.jar:?]
        at net.minecraft.class_8710$1.encode(class_8710.java:39) ~[server-intermediary.jar:?]
        at net.minecraft.class_9139$8.encode(class_9139.java:81) ~[server-intermediary.jar:?]
        at net.minecraft.class_9139$9.method_56442(class_9139.java:97) ~[server-intermediary.jar:?]
        at net.minecraft.class_9139$9.encode(class_9139.java:87) ~[server-intermediary.jar:?]
        at net.minecraft.class_9136.method_56426(class_9136.java:53) ~[server-intermediary.jar:?]
        ... 31 more
kitUIN commented 1 month ago

Please use 1.2.5