From da9707950e0f69d8a906572fc55f516277e057c4 Mon Sep 17 00:00:00 2001 From: sapier Date: Wed, 2 Jan 2013 19:45:04 +0000 Subject: Add TOCLIENT_SHOW_FORMSPEC to display formspecs at client from lua --- src/server.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'src/server.cpp') diff --git a/src/server.cpp b/src/server.cpp index 39407f961..f4b5ee872 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -3638,6 +3638,24 @@ void Server::SendChatMessage(u16 peer_id, const std::wstring &message) // Send as reliable m_con.Send(peer_id, 0, data, true); } +void Server::SendShowFormspecMessage(u16 peer_id, const std::string formspec) +{ + DSTACK(__FUNCTION_NAME); + + std::ostringstream os(std::ios_base::binary); + u8 buf[12]; + + // Write command + writeU16(buf, TOCLIENT_SHOW_FORMSPEC); + os.write((char*)buf, 2); + os< data((u8*)s.c_str(), s.size()); + // Send as reliable + m_con.Send(peer_id, 0, data, true); +} void Server::BroadcastChatMessage(const std::wstring &message) { @@ -4578,6 +4596,20 @@ void Server::notifyPlayer(const char *name, const std::wstring msg) SendChatMessage(player->peer_id, std::wstring(L"Server: -!- ")+msg); } +bool Server::showFormspec(const char *playername, const std::string &formspec) +{ + Player *player = m_env->getPlayer(playername); + + if(!player) + { + infostream<<"showFormspec: couldn't find player:"<peer_id,formspec); + return true; +} + void Server::notifyPlayers(const std::wstring msg) { BroadcastChatMessage(msg); -- cgit v1.2.3