Posted November 9, 201212 yr I have a block that has a custom render for something above it. Single player it all works fine, but in smp i'm having some issues. In smp, only one player can see the render and for the anyone else they won't see the render until they open the GUI that is attached to the block's tile entity. The render is based off of a value in the tile entity. I'm assuming that this has something to do with client-server-client communication, but I'm not sure to deal with it. I read up on making a packet handler, but didn't quite understand how to implement it in my case.
November 9, 201212 yr I have a block that has a custom render for something above it. Single player it all works fine, but in smp i'm having some issues. In smp, only one player can see the render and for the anyone else they won't see the render until they open the GUI that is attached to the block's tile entity. The render is based off of a value in the tile entity. I'm assuming that this has something to do with client-server-client communication, but I'm not sure to deal with it. I read up on making a packet handler, but didn't quite understand how to implement it in my case. You need packet handling, but tile entities are easy, here is an example out of one of my mods: @Override public Packet getDescriptionPacket() { NBTTagCompound tag = new NBTTagCompound(); this.writeToNBT(tag); Packet p = new Packet132TileEntityData(this.xCoord, this.yCoord, this.zCoord, 1, tag); p.isChunkDataPacket = true; return p; } @Override public void onDataPacket(INetworkManager net, Packet132TileEntityData pkt) { NBTTagCompound tag = pkt.customParam1; this.Color = tag.getInteger("Color"); this.OrigBlockID = tag.getInteger("OrigBlockID"); this.OrigMeta = tag.getInteger("OrigMeta"); this.blocktype = tag.getInteger("BlockType"); this.incomplete = tag.getBoolean("incomplete"); } I pass an incomplete boolean so the tile entity can realize when it needs to be updated, and then call a world.markBlockAsNeedsUpdate when it changes.
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.