private static void RevertBlockAction(OpenPlayer player, Block block, BlockEntity blockEntity) { var message = McpeUpdateBlock.CreateObject(); message.blockRuntimeId = (uint)block.GetRuntimeId(); message.coordinates = block.Coordinates; message.blockPriority = 0xb; player.SendPacket(message); // Revert block entity if exists if (blockEntity != null) { Nbt nbt = new Nbt { NbtFile = new NbtFile { BigEndian = false, RootTag = blockEntity.GetCompound() } }; var entityData = McpeBlockEntityData.CreateObject(); entityData.namedtag = nbt; entityData.coordinates = blockEntity.Coordinates; player.SendPacket(entityData); } }