Chipped

Chipped

17M Downloads

Can't create or join worlds because "Tried to read NBT tag that was too big" when using certain mods together

SplendidAlakey opened this issue · 8 comments

commented

MC 1.17.1
Fabric API 0.37.2
Chipped FABRIC_1.17_chipped-1.1.1
Artificial foliage Artificial_Foliage_1.8_(FABRIC)_1.17-1.17.1
BCLib bclib-0.3.1
BetterEnd better-end-0.11.0-pre
Blockus blockus-2.2.8+1.17.1
Consistency+ consistency_plus-1.17.1-0.4.0
Croptopia Croptopia-1.17-FABRIC-1.6.1
MineGate - More blocks minegate-moreblocks-1.1.6

Steps to reproduce:

  1. Install Fabric, Fabric API and Chipped
  2. Install Artificial foliage, BCLib, BetterEnd, Blockus, Consistency+, Croptopia and MineGate
  3. Launch the game and create a new world or open an existing one
  4. Get “Connection lost” error immediately after generating the world
Relevant latest.log entry [10:53:58] [Netty Local Client IO #0/ERROR]: Encountered exception while handling in channel with name "fabric:registry/sync" java.lang.RuntimeException: Tried to read NBT tag that was too big; tried to allocate: 2097244bytes where max allowed: 2097152 at net.minecraft.class_2505.method_10623(class_2505.java:21) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?] at net.minecraft.class_2487$1.method_23240(class_2487.java:69) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?] at net.minecraft.class_2487$1.method_23262(class_2487.java:57) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?] at net.minecraft.class_2487.method_10581(class_2487.java:428) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?] at net.minecraft.class_2487$1.method_23240(class_2487.java:71) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?] at net.minecraft.class_2487$1.method_23262(class_2487.java:57) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?] at net.minecraft.class_2487.method_10581(class_2487.java:428) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?] at net.minecraft.class_2487$1.method_23240(class_2487.java:71) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?] at net.minecraft.class_2487$1.method_23262(class_2487.java:57) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?] at net.minecraft.class_2507.method_10626(class_2507.java:108) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?] at net.minecraft.class_2507.method_10625(class_2507.java:75) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?] at net.minecraft.class_2540.method_30616(class_2540.java:450) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?] at net.minecraft.class_2540.method_10798(class_2540.java:432) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?] at net.fabricmc.fabric.impl.registry.sync.RegistrySyncManager.receivePacket(RegistrySyncManager.java:78) ~[7259c7d2-0710-49a0-873e-1f5ed48fc5de.jar:?] at net.fabricmc.fabric.impl.registry.sync.FabricRegistryClientInit.lambda$onInitializeClient$2(FabricRegistryClientInit.java:34) ~[7259c7d2-0710-49a0-873e-1f5ed48fc5de.jar:?] at net.fabricmc.fabric.impl.networking.client.ClientPlayNetworkAddon.receive(ClientPlayNetworkAddon.java:97) ~[671ab297-d9c7-4a71-bc2f-921d11ef97df.jar:?] at net.fabricmc.fabric.impl.networking.client.ClientPlayNetworkAddon.receive(ClientPlayNetworkAddon.java:39) ~[671ab297-d9c7-4a71-bc2f-921d11ef97df.jar:?] at net.fabricmc.fabric.impl.networking.AbstractChanneledNetworkAddon.handle(AbstractChanneledNetworkAddon.java:100) [671ab297-d9c7-4a71-bc2f-921d11ef97df.jar:?] at net.fabricmc.fabric.impl.networking.client.ClientPlayNetworkAddon.handle(ClientPlayNetworkAddon.java:89) [671ab297-d9c7-4a71-bc2f-921d11ef97df.jar:?] at net.minecraft.class_634.handler$zfp000$handleCustomPayload(class_634.java:2411) [intermediary-fabric-loader-0.11.6-1.17.1.jar:?] at net.minecraft.class_634.method_11152(class_634.java) [intermediary-fabric-loader-0.11.6-1.17.1.jar:?] at net.minecraft.class_2658.method_11457(class_2658.java:60) [intermediary-fabric-loader-0.11.6-1.17.1.jar:?] at net.minecraft.class_2658.method_11054(class_2658.java:8) [intermediary-fabric-loader-0.11.6-1.17.1.jar:?] at net.minecraft.class_2535.method_10759(class_2535.java:163) [intermediary-fabric-loader-0.11.6-1.17.1.jar:?] at net.minecraft.class_2535.method_10770(class_2535.java:150) [intermediary-fabric-loader-0.11.6-1.17.1.jar:?] at net.minecraft.class_2535.channelRead0(class_2535.java:53) [intermediary-fabric-loader-0.11.6-1.17.1.jar:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.local.LocalChannel.readInbound(LocalChannel.java:304) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.local.LocalChannel.doBeginRead(LocalChannel.java:327) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannel$AbstractUnsafe.beginRead(AbstractChannel.java:847) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.read(DefaultChannelPipeline.java:1386) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeRead(AbstractChannelHandlerContext.java:693) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannelHandlerContext.read(AbstractChannelHandlerContext.java:673) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultChannelPipeline.read(DefaultChannelPipeline.java:1050) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannel.read(AbstractChannel.java:284) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.readIfIsAutoRead(DefaultChannelPipeline.java:1446) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.channelReadComplete(DefaultChannelPipeline.java:1441) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:398) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:380) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultChannelPipeline.fireChannelReadComplete(DefaultChannelPipeline.java:971) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.local.LocalChannel.readInbound(LocalChannel.java:307) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.local.LocalChannel.doBeginRead(LocalChannel.java:327) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannel$AbstractUnsafe.beginRead(AbstractChannel.java:847) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.read(DefaultChannelPipeline.java:1386) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeRead(AbstractChannelHandlerContext.java:693) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannelHandlerContext.read(AbstractChannelHandlerContext.java:673) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultChannelPipeline.read(DefaultChannelPipeline.java:1050) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannel.read(AbstractChannel.java:284) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.readIfIsAutoRead(DefaultChannelPipeline.java:1446) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.channelReadComplete(DefaultChannelPipeline.java:1441) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:398) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:380) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultChannelPipeline.fireChannelReadComplete(DefaultChannelPipeline.java:971) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.local.LocalChannel.readInbound(LocalChannel.java:307) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.local.LocalChannel.doBeginRead(LocalChannel.java:327) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannel$AbstractUnsafe.beginRead(AbstractChannel.java:847) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.read(DefaultChannelPipeline.java:1386) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeRead(AbstractChannelHandlerContext.java:693) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannelHandlerContext.read(AbstractChannelHandlerContext.java:673) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultChannelPipeline.read(DefaultChannelPipeline.java:1050) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannel.read(AbstractChannel.java:284) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.readIfIsAutoRead(DefaultChannelPipeline.java:1446) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.channelReadComplete(DefaultChannelPipeline.java:1441) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:398) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:380) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultChannelPipeline.fireChannelReadComplete(DefaultChannelPipeline.java:971) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.local.LocalChannel.readInbound(LocalChannel.java:307) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.local.LocalChannel.doBeginRead(LocalChannel.java:327) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannel$AbstractUnsafe.beginRead(AbstractChannel.java:847) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.read(DefaultChannelPipeline.java:1386) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeRead(AbstractChannelHandlerContext.java:693) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannelHandlerContext.read(AbstractChannelHandlerContext.java:673) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultChannelPipeline.read(DefaultChannelPipeline.java:1050) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannel.read(AbstractChannel.java:284) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.readIfIsAutoRead(DefaultChannelPipeline.java:1446) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.channelReadComplete(DefaultChannelPipeline.java:1441) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:398) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:380) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultChannelPipeline.fireChannelReadComplete(DefaultChannelPipeline.java:971) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.local.LocalChannel.readInbound(LocalChannel.java:307) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.local.LocalChannel.finishPeerRead0(LocalChannel.java:446) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.local.LocalChannel.access$400(LocalChannel.java:51) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.local.LocalChannel$5.run(LocalChannel.java:404) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.channel.DefaultEventLoop.run(DefaultEventLoop.java:54) [netty-all-4.1.25.Final.jar:4.1.25.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884) [netty-all-4.1.25.Final.jar:4.1.25.Final] at java.lang.Thread.run(Thread.java:831) [?:?]

Full logs:

[removed]

The error only happens when using all the above mods combined. Removing either Artificial foliage, Consistency+, Croptopia, Minegate alone or BCLib & BetterEnd & Blockus together, lets me join worlds just fine.

The error does not happen with a large modpack if either Artificial foliage, Chipped alone or Croptopia & MineGate together are removed.

Example logs of working setups with signficantly more mods:

[removed]

I'm sorry if this is not the right place to report it, but since my modpack is working without Chipped, I figured I'd do it here. I also realize that this might not be an issue with any of these mods, including Chipped, on their own, but rather the result of having too many mods that add new blocks, but I hope to be wrong since I'd like to use them all together.

commented

having the exact same issue. only mod on your list that i am not using is minegate, but croptopia, better end, consistency+, artificial foliage seem to throw NBT tag error

commented
commented

This is a result of the fact that there's too many blocks for the server to send to the client; not sure if there's any way around that.

commented

One potential fix is merging some of the blocks and items together through block states and tag data with model overrides, however that would require a lot of changes and make some things harder to maintain.
@GRIMBOP

commented

If it's not going to be worth it to change and maintain something on your side, then close the issue, it's understandable.

There's a mod for 1.16, which I think fixes that: https://github.com/TheRandomLabs/RandomPatches. They list “Maximum NBT compound tag packet size” as one of the features. Sadly, it's not been updated, so for now I will have to limit the amount of large mods I install.

commented

After a bit of research going from the RandomPatches page, I found XL Packets which may solve your problem.
I will close this issue for now, and decisions to change how we implement blocks will be considered further in the future.

commented

I am using XL Packets, and I've seen some people reporting that it did help them with the NBT tag packets size. Sadly, in my case it only helps with general packets size, that's how I managed to run so many recipe heavy mods together in the first place.

I'll definitely be keeping an eye on your future updates, but for now I decided to remove one of my mods to allow for Chipped to fit in without overloading the NBT tags.

commented

yo thanks for that. I probably had 1-2 less mods than you so the XL packets actually worked in getting chipped into my overall lineup. cheers