Posted September 10, 201411 yr I'm trying to use packets to relay NBT data from the client to the server and vice versa, is there a mistake i'm making in the code or is there an easier way to do this? (sidenote: it's supposed to save an integer "speed") packet code: int Speed; public Packet getDescriptionPacket() { NBTTagCompound nbtTag = new NBTTagCompound(); this.writeToNBT(nbtTag); return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 1, nbtTag); } public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity packet) { readFromNBT(packet.func_148857_g()); } @Override public void writeToNBT(NBTTagCompound nbt){ super.writeToNBT(nbt); nbt.setInteger("Speed", Speed); } @Override public void readFromNBT(NBTTagCompound nbt){ super.readFromNBT(nbt); nbt.getInteger("Speed"); } The proud(ish) developer of Ancients
September 11, 201411 yr In your read from NBT you're not doing anything. You have to set the variable, not just get it. this.speed = compound.getInteger("Speed"); BEFORE ASKING FOR HELP READ THE EAQ! I'll help if I can. Apologies if I do something obviously stupid. If you don't know basic Java yet, go and follow these tutorials.
September 11, 201411 yr Author oh yeah i forgot about that part but is there any easier way to do this? also is this the correct way to send and receive packets? The proud(ish) developer of Ancients
September 11, 201411 yr It's how to update information for TileEntities. Another way is to use the SimpleNetworkWrapper. You can take a look at pahimar's EE3 code on GitHub for some examples. BEFORE ASKING FOR HELP READ THE EAQ! I'll help if I can. Apologies if I do something obviously stupid. If you don't know basic Java yet, go and follow these tutorials.
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.