mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-24 02:13:38 +00:00
89 lines
2.7 KiB
C++
89 lines
2.7 KiB
C++
#include "../Platform/stdafx.h"
|
|
#include "../Headers/net.minecraft.world.scores.h"
|
|
#include "PlayerTeam.h"
|
|
|
|
PlayerTeam::PlayerTeam(Scoreboard* scoreboard, const std::wstring& name) {
|
|
this->scoreboard = scoreboard;
|
|
this->name = name;
|
|
displayName = name;
|
|
|
|
prefix = L"";
|
|
suffix = L"";
|
|
allowFriendlyFire = true;
|
|
seeFriendlyInvisibles = true;
|
|
}
|
|
|
|
Scoreboard* PlayerTeam::getScoreboard() { return scoreboard; }
|
|
|
|
std::wstring PlayerTeam::getName() { return name; }
|
|
|
|
std::wstring PlayerTeam::getDisplayName() { return displayName; }
|
|
|
|
void PlayerTeam::setDisplayName(const std::wstring& displayName) {
|
|
// if (displayName == null) throw new IllegalArgumentException("Name cannot
|
|
// be null");
|
|
this->displayName = displayName;
|
|
scoreboard->onTeamChanged(this);
|
|
}
|
|
|
|
std::unordered_set<std::wstring>* PlayerTeam::getPlayers() { return &players; }
|
|
|
|
std::wstring PlayerTeam::getPrefix() { return prefix; }
|
|
|
|
void PlayerTeam::setPrefix(const std::wstring& prefix) {
|
|
// if (prefix == null) throw new IllegalArgumentException("Prefix cannot be
|
|
// null");
|
|
this->prefix = prefix;
|
|
scoreboard->onTeamChanged(this);
|
|
}
|
|
|
|
std::wstring PlayerTeam::getSuffix() { return suffix; }
|
|
|
|
void PlayerTeam::setSuffix(const std::wstring& suffix) {
|
|
// if (suffix == null) throw new IllegalArgumentException("Suffix cannot be
|
|
// null");
|
|
this->suffix = suffix;
|
|
scoreboard->onTeamChanged(this);
|
|
}
|
|
|
|
std::wstring PlayerTeam::getFormattedName(const std::wstring& teamMemberName) {
|
|
return getPrefix() + teamMemberName + getSuffix();
|
|
}
|
|
|
|
std::wstring PlayerTeam::formatNameForTeam(PlayerTeam* team) {
|
|
return formatNameForTeam(team, team->getDisplayName());
|
|
}
|
|
|
|
std::wstring PlayerTeam::formatNameForTeam(Team* team,
|
|
const std::wstring& name) {
|
|
if (team == NULL) return name;
|
|
return team->getFormattedName(name);
|
|
}
|
|
|
|
bool PlayerTeam::isAllowFriendlyFire() { return allowFriendlyFire; }
|
|
|
|
void PlayerTeam::setAllowFriendlyFire(bool allowFriendlyFire) {
|
|
this->allowFriendlyFire = allowFriendlyFire;
|
|
scoreboard->onTeamChanged(this);
|
|
}
|
|
|
|
bool PlayerTeam::canSeeFriendlyInvisibles() { return seeFriendlyInvisibles; }
|
|
|
|
void PlayerTeam::setSeeFriendlyInvisibles(bool seeFriendlyInvisibles) {
|
|
this->seeFriendlyInvisibles = seeFriendlyInvisibles;
|
|
scoreboard->onTeamChanged(this);
|
|
}
|
|
|
|
int PlayerTeam::packOptions() {
|
|
int result = 0;
|
|
|
|
if (isAllowFriendlyFire()) result |= 1 << BIT_FRIENDLY_FIRE;
|
|
if (canSeeFriendlyInvisibles()) result |= 1 << BIT_SEE_INVISIBLES;
|
|
|
|
return result;
|
|
}
|
|
|
|
void PlayerTeam::unpackOptions(int options) {
|
|
setAllowFriendlyFire((options & (1 << BIT_FRIENDLY_FIRE)) > 0);
|
|
setSeeFriendlyInvisibles((options & (1 << BIT_SEE_INVISIBLES)) > 0);
|
|
} |