void Server::sendDetachedInventory(const std::string &name, u16 peer_id) { if(m_detached_inventories.count(name) == 0){ errorstream<<FUNCTION_NAME<<": \""<<name<<"\" not found"<<std::endl; return; } Inventory *inv = m_detached_inventories[name]; std::ostringstream os(std::ios_base::binary); inv->serialize(os); MSGPACK_PACKET_INIT(TOCLIENT_DETACHED_INVENTORY, 2); PACK(TOCLIENT_DETACHED_INVENTORY_NAME, name); PACK(TOCLIENT_DETACHED_INVENTORY_DATA, os.str()); if (peer_id != PEER_ID_INEXISTENT) { // Send as reliable m_clients.send(peer_id, 0, buffer, true); } else { m_clients.sendToAll(0,buffer,true); } }
void FurnaceNodeMetadata::serializeBody(std::ostream &os) { m_inventory->serialize(os); os<<itos(m_fuel_totaltime*10)<<" "; os<<itos(m_fuel_time*10)<<" "; os<<itos(m_src_totaltime*10)<<" "; os<<itos(m_src_time*10)<<" "; os<<serializeJsonString(m_infotext); }
void serializeBody(std::ostream &os) { m_inventory->serialize(os); os<<serializeLongString(m_text); os<<serializeString(m_owner); os<<serializeString(m_infotext); os<<serializeString(m_inventorydrawspec); writeU8(os, m_allow_text_input); writeU8(os, m_removal_disabled); writeU8(os, m_enforce_owner); int num_vars = m_stringvars.size(); writeU32(os, num_vars); for(std::map<std::string, std::string>::iterator i = m_stringvars.begin(); i != m_stringvars.end(); i++){ os<<serializeString(i->first); os<<serializeLongString(i->second); } }
void LockingChestNodeMetadata::serializeBody(std::ostream &os) { os<<serializeString(m_text); m_inventory->serialize(os); }
void ChestNodeMetadata::serializeBody(std::ostream &os) { m_inventory->serialize(os); }