final int mask = calculateMask(item);
buffer.writeShort(mask);
buffer.writeInt(item.getObjectId()); // ObjectId
buffer.writeInt(item.getItem().getDisplayId()); // ItemId
buffer.writeByte(item.getItem().isQuestItem() || (item.getEquipped() == 1) ? 0xFF : item.getLocation()); // T1
buffer.writeLong(item.getCount()); // Quantity
buffer.writeByte(item.getItem().getType2()); // Item Type 2 : 00-weapon, 01-shield/armor, 02-ring/earring/necklace, 03-questitem, 04-adena, 05-item
buffer.writeByte(item.getCustomType1()); // Filler (always 0)
buffer.writeShort(item.getEquipped()); // Equipped : 00-No, 01-yes
buffer.writeLong(item.isPetEquipped() ? item.getItem().getPetBodyPart() : item.getItem().getBodyPart()); // Slot : 0006-lr.ear, 0008-neck, 0030-lr.finger, 0040-head, 0100-l.hand, 0200-gloves, 0400-chest, 0800-pants, 1000-feet, 4000-r.hand, 8000-r.hand
buffer.writeShort(item.getEnchantLevel()); // Enchant level (pet level shown in control item)
buffer.writeInt(item.getMana());
buffer.writeByte(0); // 270 protocol
buffer.writeInt(item.getTime());
buffer.writeByte(item.isAvailable()); // GOD Item enabled = 1 disabled (red) = 0
buffer.writeShort(0); // 140 - locked