Posted March 13, 201312 yr currently i have a block that will write some info to nbt when activated, then just after that its supposed to update the texture of it. but using the iBlockAccess.getTileEntity(x,y,z); seems to only give me the default values i set for the TileEntity and not the ones i wrote to it when i activated it. i've already made sure that the block is activating, as well as the info is getting sent to the tile entity i've also set the tile entity to print out its info to console any time it reads or writes to/from nbt the data is apparently getting properly written, but when accessed though the iBlockAccess.getTileEntity(...) it seems to almost place a new one in that location, give me its default values , then after i finish with it read the old ones again. i've tried setting the block to update and even tick randomly in hopes of at least getting the proper values in the custom renderer , but nothing seems to work. if any one knows how to do this , or is good enough at nbt data and tile entities could u at least throw some ideas at me to try , cause at this point i have no clue what to try.
March 14, 201312 yr You are hitting the client/server divide. What you are seeing is the correct values in the server copy of the block, but default values in the client-copy of the block. This is caused by not sending the info you want synched in the description packet. Look at the tile entity getDiscriptionPacket and onDataPacket methods, as they are the built-in server->client coms method for tile-entities. (basically, you tell the world server side to update the block on the clients)
March 14, 201312 yr Author dam , thought it was something that easy ( as well as easy to miss ) too ^^; thanks for the help =D
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.