Jump to content

Package issue 1.16.5


Recommended Posts

I have a tile entity that is used for crafting but I don't want it to craft things every tick.

To achieve this I added a button that sends a package to the server whenever it needs to do the crafting.

I have no idea what I am doing wrong at this point and I cannot find the cause of the issue in the minecraft code because the exception stack does not reference any of my classes.

I am relatively new to minecraft modding and java in general which also isn't very helpful. However I have done my homework and have enough knowledge to know what I actually am doing and not just blindly copy pasting code from tutorials so calling me out to learn java will not help me in any capacity.

I am stuck with this problem for about a week now and this is the last place I can think of that can help me

It works flawlessly in singleplayer but whenever I try to join a server with this mod installed I get an error message on my screen saying


Internal Exception: io.netty.handler.codec.DecoderException: io.netty.handler.codec.EncoderException: java.io.UTFDataFormatExcpetion: malformed input around byte 5


Inside Debug.log it says


[25Nov2021 20:17:50.906] [Render thread/FATAL] [net.minecraft.util.concurrent.ThreadTaskExecutor/]: Error executing task on Client java.util.NoSuchElementException: packet_handler

I have compared my way of making the packets with multiple mods I found on curseforge most are the same way as I do it.

I have asked around in multiple forge and modding related discord servers but no one was able to help me with my problem.

All tutorials on youtube did the same as I did.

My PacketHandler class looks like this:

public static final String PROTOCOL_VERSION = "1";
	public static SimpleChannel CHANNEL;

	public static void init() {
		int index =0;
		CHANNEL = NetworkRegistry.ChannelBuilder
				.named(new ResourceLocation("pepsimc","simple_network"))
		CHANNEL.messageBuilder(ProcessingCraftPacket.class, index++, NetworkDirection.PLAY_TO_SERVER)

My packet class looks like this:

	public final BlockPos Pos;
	public ProcessingCraftPacket(BlockPos Pos) {
		this.Pos = Pos;
	public ProcessingCraftPacket(PacketBuffer buffer) {
	public void encode(PacketBuffer buffer) {
	public static void handle(ProcessingCraftPacket message, Supplier<NetworkEvent.Context> ctx) {
			final TileEntity TE = ctx.get().getSender().level.getBlockEntity(message.Pos);
			if(TE instanceof ProcessingTile) {
				final ProcessingTile PT = (ProcessingTile) TE;

Thanks alot in advance.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in

Sign In Now

  • Create New...

Important Information

By using this site, you agree to our Terms of Use.