Menus don't add slots for the offhand, so on sendAllDataToRemote calls the offhand slot isn't sent. This is not correct because you *can* put stuff into the offhand by pressing the offhand swap item