aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/PlayerTeam.h
diff options
context:
space:
mode:
authorLoki Rautio <lokirautio@gmail.com>2026-03-04 03:56:03 -0600
committerLoki Rautio <lokirautio@gmail.com>2026-03-04 03:56:03 -0600
commit42aec6dac53dffa6afe072560a7e1d4986112538 (patch)
tree0836426857391df1b6a83f6368a183f83ec9b104 /Minecraft.World/PlayerTeam.h
parentc9d58eeac7c72f0b3038e084667b4d89a6249fce (diff)
parentef9b6fd500dfabd9463267b0dd9e29577eea8a2b (diff)
Merge branch 'main' into pr/win64-world-saves
# Conflicts: # Minecraft.Client/MinecraftServer.cpp # README.md
Diffstat (limited to 'Minecraft.World/PlayerTeam.h')
-rw-r--r--Minecraft.World/PlayerTeam.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/Minecraft.World/PlayerTeam.h b/Minecraft.World/PlayerTeam.h
new file mode 100644
index 00000000..bf91309a
--- /dev/null
+++ b/Minecraft.World/PlayerTeam.h
@@ -0,0 +1,49 @@
+#pragma once
+
+#include "Team.h"
+
+class Scoreboard;
+
+class PlayerTeam : public Team
+{
+public:
+ static const int MAX_NAME_LENGTH = 16;
+ static const int MAX_DISPLAY_NAME_LENGTH = 32;
+ static const int MAX_PREFIX_LENGTH = 16;
+ static const int MAX_SUFFIX_LENGTH = 16;
+
+private:
+ static const int BIT_FRIENDLY_FIRE = 0;
+ static const int BIT_SEE_INVISIBLES = 1;
+
+ Scoreboard *scoreboard;
+ wstring name;
+ unordered_set<wstring> players;
+ wstring displayName;
+ wstring prefix;
+ wstring suffix;
+ bool allowFriendlyFire;
+ bool seeFriendlyInvisibles;
+
+public:
+ PlayerTeam(Scoreboard *scoreboard, const wstring &name);
+
+ Scoreboard *getScoreboard();
+ wstring getName();
+ wstring getDisplayName();
+ void setDisplayName(const wstring &displayName);
+ unordered_set<wstring> *getPlayers();
+ wstring getPrefix();
+ void setPrefix(const wstring &prefix);
+ wstring getSuffix();
+ void setSuffix(const wstring &suffix);
+ wstring getFormattedName(const wstring &teamMemberName);
+ static wstring formatNameForTeam(PlayerTeam *team);
+ static wstring formatNameForTeam(Team *team, const wstring &name);
+ bool isAllowFriendlyFire();
+ void setAllowFriendlyFire(bool allowFriendlyFire);
+ bool canSeeFriendlyInvisibles();
+ void setSeeFriendlyInvisibles(bool seeFriendlyInvisibles);
+ int packOptions();
+ void unpackOptions(int options);
+}; \ No newline at end of file