1
0

Added SetCustomName() to players.

This commit is contained in:
Howaner
2014-09-02 19:12:35 +02:00
parent dfed6f94ca
commit 1bb4d79412
15 changed files with 124 additions and 41 deletions

View File

@@ -81,7 +81,8 @@ cPlayer::cPlayer(cClientHandle* a_Client, const AString & a_PlayerName) :
m_Team(NULL),
m_TicksUntilNextSave(PLAYER_INVENTORY_SAVE_INTERVAL),
m_bIsTeleporting(false),
m_UUID((a_Client != NULL) ? a_Client->GetUUID() : "")
m_UUID((a_Client != NULL) ? a_Client->GetUUID() : ""),
m_CustomName("")
{
m_InventoryWindow = new cInventoryWindow(*this);
m_CurrentWindow = m_InventoryWindow;
@@ -813,6 +814,28 @@ void cPlayer::SetCanFly(bool a_CanFly)
void cPlayer::SetCustomName(const AString & a_CustomName)
{
if (m_CustomName == a_CustomName)
{
return;
}
m_World->BroadcastPlayerListItem(GetTabListName(), false, 0); // Remove old tab-list entry
m_CustomName = a_CustomName;
if (m_CustomName.length() > 16)
{
m_CustomName = m_CustomName.substr(0, 16);
}
m_World->BroadcastSpawnEntity(*this, m_ClientHandle);
m_World->BroadcastPlayerListItem(GetTabListName(), true, GetClientHandle()->GetPing());
}
void cPlayer::SetFlying(bool a_IsFlying)
{
if (a_IsFlying == m_IsFlying)
@@ -1443,6 +1466,28 @@ AString cPlayer::GetColor(void) const
AString cPlayer::GetTabListName(void) const
{
const AString & Color = GetColor();
if (HasCustomName())
{
return m_CustomName;
}
else if ((GetName().length() <= 14) && !Color.empty())
{
return Printf("%s%s", Color.c_str(), GetName().c_str());
}
else
{
return GetName();
}
}
void cPlayer::TossEquippedItem(char a_Amount)
{
cItems Drops;