Posted December 26, 201311 yr Hi, I have a block, with a tileentity, which should rotate when clicked with one of my items. For that I use, onItemUseFirst from my item. The problem is that if I return true on the client side, the bounds update, but the method isn't called server side, which means that I would have to send a packet, to stay synced. Is there a way to have both sides be called and to update the bounds? I tried these two methods, in the onItemUseFirst class world.markBlockForUpdate(x, y, z); world.setBlockMetadataWithNotify(x, y, z, meta, 3); The metadata doesn't change and shouldn't.
December 26, 201311 yr Hi If you cancel the action on the client side, I think the answer is no, the vanilla won't call the server. However you could perhaps send the appropriate Packet15 to the server yourself from the client onItemUseFirst, without all the other unwanted methods that the vanilla calls? The Packet15 will then trigger onItemUseFirst on the server, just like vanilla? -TGG
December 26, 201311 yr Author That sounds like it could work too. What I have found, is to use markBlockForUpdate() and in my TE getDescriptionPacket(), which returns a new Packet132TileEntityData. Which I give a NBTTag with my TE data. The rest is handled from vanilla.
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.