mirror of
https://github.com/luanti-org/luanti.git
synced 2025-08-11 17:51:04 +00:00
Add ObjectRef.hud_set_hotbar_itemcount and add TOCLIENT_HUD_SET_PARAM
This commit is contained in:
parent
730d316efe
commit
96fe1de832
12 changed files with 89 additions and 4 deletions
|
@ -3687,6 +3687,22 @@ void Server::SendHUDSetFlags(u16 peer_id, u32 flags, u32 mask)
|
|||
m_con.Send(peer_id, 0, data, true);
|
||||
}
|
||||
|
||||
void Server::SendHUDSetParam(u16 peer_id, u16 param, const std::string &value)
|
||||
{
|
||||
std::ostringstream os(std::ios_base::binary);
|
||||
|
||||
// Write command
|
||||
writeU16(os, TOCLIENT_HUD_SET_PARAM);
|
||||
writeU16(os, param);
|
||||
os<<serializeString(value);
|
||||
|
||||
// Make data buffer
|
||||
std::string s = os.str();
|
||||
SharedBuffer<u8> 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)
|
||||
{
|
||||
for(std::map<u16, RemoteClient*>::iterator
|
||||
|
@ -4684,6 +4700,18 @@ bool Server::hudSetFlags(Player *player, u32 flags, u32 mask) {
|
|||
return true;
|
||||
}
|
||||
|
||||
bool Server::hudSetHotbarItemcount(Player *player, s32 hotbar_itemcount) {
|
||||
if (!player)
|
||||
return false;
|
||||
if (hotbar_itemcount <= 0 || hotbar_itemcount > HUD_HOTBAR_ITEMCOUNT_MAX)
|
||||
return false;
|
||||
|
||||
std::ostringstream os(std::ios::binary);
|
||||
writeS32(os, hotbar_itemcount);
|
||||
SendHUDSetParam(player->peer_id, HUD_PARAM_HOTBAR_ITEMCOUNT, os.str());
|
||||
return true;
|
||||
}
|
||||
|
||||
void Server::notifyPlayers(const std::wstring msg)
|
||||
{
|
||||
BroadcastChatMessage(msg);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue