Posted February 14, 20187 yr Hello everyone, Im trying to parse a String (json) to NBT with JsonToNBT#getTagFromJson but its apparently broken: @Override public void fromBytes(ByteBuf buf) { try { String received = new String(buf.array()); NBTTagCompound nbt = JsonToNBT.getTagFromJson(received); this.mana = new ManaData(nbt); }catch (Exception ex){ ex.printStackTrace(); } } Look at the Intellij Idea debugger This is a perfect string made with NBTDataCompoud#toString() [00:27:51] [Netty Local Client IO #0/INFO] [STDOUT]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:25]: {NATURE:0,FIRE:0,MAGIC:0,DARK:1300,AIR:0,ICE:0,WATER:0} [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: net.minecraft.nbt.NBTException: Expected '{' but got ' ' at: <--[HERE] [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at net.minecraft.nbt.JsonToNBT.expect(JsonToNBT.java:423) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at net.minecraft.nbt.JsonToNBT.readStruct(JsonToNBT.java:237) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at net.minecraft.nbt.JsonToNBT.readSingleStruct(JsonToNBT.java:28) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at net.minecraft.nbt.JsonToNBT.getTagFromJson(JsonToNBT.java:22) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at cf.nathanpb.mysticis.packets.ManaUpdatePacket.fromBytes(ManaUpdatePacket.java:26) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at net.minecraftforge.fml.common.network.simpleimpl.SimpleIndexedCodec.decodeInto(SimpleIndexedCodec.java:36) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at net.minecraftforge.fml.common.network.simpleimpl.SimpleIndexedCodec.decodeInto(SimpleIndexedCodec.java:26) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:101) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:38) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:274) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at net.minecraftforge.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:108) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:155) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:49) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.handleClientSideCustomPacket(NetworkDispatcher.java:386) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:272) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:72) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.local.LocalChannel.finishPeerRead0(LocalChannel.java:443) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.local.LocalChannel.access$500(LocalChannel.java:49) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.local.LocalChannel$5.run(LocalChannel.java:397) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.channel.DefaultEventLoop.run(DefaultEventLoop.java:54) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) [00:27:51] [Netty Local Client IO #0/INFO] [STDERR]: [cf.nathanpb.mysticis.packets.ManaUpdatePacket:fromBytes:29]: at java.lang.Thread.run(Thread.java:748) What the hell is happening? Edited February 14, 20187 yr by NathanPB
February 14, 20187 yr Author 43 minutes ago, diesieben07 said: This is not what these functions are intended for. If you want to send NBT through packets (please don't, unless you have a very good reason to) you need to use ByteBufUtils.writeTag and ByteBufUtils.readTag. thanks a lot you are saving my poor life
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.