aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/Scoreboard.cpp
diff options
context:
space:
mode:
authordaoge <3523206925@qq.com>2026-03-03 03:04:10 +0800
committerGitHub <noreply@github.com>2026-03-03 03:04:10 +0800
commitb3feddfef372618c8a9d7a0abcaf18cfad866c18 (patch)
tree267761c3bb39241ba5c347bfbe2254d06686e287 /Minecraft.World/Scoreboard.cpp
parent84c31a2331f7a0ec85b9d438992e244f60e5020f (diff)
feat: TU19 (Dec 2014) Features & Content (#155)
* try to resolve merge conflict * feat: TU19 (Dec 2014) Features & Content (#32) * December 2014 files * Working release build * Fix compilation issues * Add sound to Windows64Media * Add DLC content and force Tutorial DLC * Revert "Add DLC content and force Tutorial DLC" This reverts commit 97a43994725008e35fceb984d5549df9c8cea470. * Disable broken light packing * Disable breakpoint during DLC texture map load Allows DLC loading but the DLC textures are still broken * Fix post build not working * ... * fix vs2022 build * fix cmake build --------- Co-authored-by: Loki <lokirautio@gmail.com>
Diffstat (limited to 'Minecraft.World/Scoreboard.cpp')
-rw-r--r--Minecraft.World/Scoreboard.cpp328
1 files changed, 328 insertions, 0 deletions
diff --git a/Minecraft.World/Scoreboard.cpp b/Minecraft.World/Scoreboard.cpp
new file mode 100644
index 00000000..5c6f2ebd
--- /dev/null
+++ b/Minecraft.World/Scoreboard.cpp
@@ -0,0 +1,328 @@
+#include "stdafx.h"
+
+#include "Scoreboard.h"
+
+Objective *Scoreboard::getObjective(const wstring &name)
+{
+ return NULL;
+ //return objectivesByName.find(name)->second;
+}
+
+Objective *Scoreboard::addObjective(const wstring &name, ObjectiveCriteria *criteria)
+{
+ return NULL;
+// Objective *objective = getObjective(name);
+// if (objective != NULL)
+// {
+//#indef _CONTENT_PACKAGE
+// __debugbreak();
+//#endif
+// //throw new IllegalArgumentException("An objective with the name '" + name + "' already exists!");
+// }
+//
+// objective = new Objective(this, name, criteria);
+//
+// vector<Objective *> *criteriaList = objectivesByCriteria.find(criteria)->second;
+//
+// if (criteriaList == NULL)
+// {
+// criteriaList = new vector<Objective *>();
+// objectivesByCriteria[criteria] = criteriaList;
+// }
+//
+// criteriaList->push_back(objective);
+// objectivesByName[name] = objective;
+// onObjectiveAdded(objective);
+//
+// return objective;
+}
+
+vector<Objective *> *Scoreboard::findObjectiveFor(ObjectiveCriteria *criteria)
+{
+ return NULL;
+ //vector<Objective *> *objectives = objectivesByCriteria.find(criteria)->second;
+
+ //return objectives == NULL ? new vector<Objective *>() : new vector<Objective *>(objectives);
+}
+
+Score *Scoreboard::getPlayerScore(const wstring &name, Objective *objective)
+{
+ return NULL;
+ //unordered_map<Objective *, Score *> *scores = playerScores.find(name)->it;
+
+ //if (scores == NULL)
+ //{
+ // scores = new unordered_map<Objective *, Score *>();
+ // playerScores.put(name, scores);
+ //}
+
+ //Score *score = scores->get(objective);
+
+ //if (score == NULL)
+ //{
+ // score = new Score(this, objective, name);
+ // scores->put(objective, score);
+ //}
+
+ //return score;
+}
+
+vector<Score *> *Scoreboard::getPlayerScores(Objective *objective)
+{
+ return NULL;
+ //vector<Score *> *result = new vector<Score *>();
+
+ //for (Map<Objective, Score> scores : playerScores.values())
+ //{
+ // Score score = scores.get(objective);
+ // if (score != null) result.add(score);
+ //}
+
+ //Collections.sort(result, Score.SCORE_COMPARATOR);
+
+ //return result;
+}
+
+vector<Objective *> *Scoreboard::getObjectives()
+{
+ return NULL;
+ //return objectivesByName.values();
+}
+
+vector<wstring> *Scoreboard::getTrackedPlayers()
+{
+ return NULL;
+ //return playerScores.keySet();
+}
+
+void Scoreboard::resetPlayerScore(const wstring &player)
+{
+ //unordered_map<Objective *, Score *> *removed = playerScores.remove(player);
+
+ //if (removed != NULL)
+ //{
+ // onPlayerRemoved(player);
+ //}
+}
+
+vector<Score *> *Scoreboard::getScores()
+{
+ return NULL;
+ //Collection<Map<Objective, Score>> values = playerScores.values();
+ //List<Score> result = new ArrayList<Score>();
+
+ //for (Map<Objective, Score> map : values)
+ //{
+ // result.addAll(map.values());
+ //}
+
+ //return result;
+}
+
+vector<Score *> *Scoreboard::getScores(Objective *objective)
+{
+ return NULL;
+ //Collection<Map<Objective, Score>> values = playerScores.values();
+ //List<Score> result = new ArrayList<Score>();
+
+ //for (Map<Objective, Score> map : values) {
+ // Score score = map.get(objective);
+ // if (score != null) result.add(score);
+ //}
+
+ //return result;
+}
+
+unordered_map<Objective *, Score *> *Scoreboard::getPlayerScores(const wstring &player)
+{
+ return NULL;
+ //Map<Objective, Score> result = playerScores.get(player);
+ //if (result == null) result = new HashMap<Objective, Score>();
+ //return result;
+}
+
+void Scoreboard::removeObjective(Objective *objective)
+{
+ //objectivesByName.remove(objective.getName());
+
+ //for (int i = 0; i < DISPLAY_SLOTS; i++) {
+ // if (getDisplayObjective(i) == objective) setDisplayObjective(i, null);
+ //}
+
+ //List<Objective> objectives = objectivesByCriteria.get(objective.getCriteria());
+ //if (objectives != null) objectives.remove(objective);
+
+ //for (Map<Objective, Score> objectiveScoreMap : playerScores.values()) {
+ // objectiveScoreMap.remove(objective);
+ //}
+
+ //onObjectiveRemoved(objective);
+}
+
+void Scoreboard::setDisplayObjective(int slot, Objective *objective)
+{
+ //displayObjectives[slot] = objective;
+}
+
+Objective *Scoreboard::getDisplayObjective(int slot)
+{
+ return NULL;
+ //return displayObjectives[slot];
+}
+
+PlayerTeam *Scoreboard::getPlayerTeam(const wstring &name)
+{
+ return NULL;
+ //return teamsByName.get(name);
+}
+
+PlayerTeam *Scoreboard::addPlayerTeam(const wstring &name)
+{
+ return NULL;
+ //PlayerTeam team = getPlayerTeam(name);
+ //if (team != null) throw new IllegalArgumentException("An objective with the name '" + name + "' already exists!");
+
+ //team = new PlayerTeam(this, name);
+ //teamsByName.put(name, team);
+ //onTeamAdded(team);
+
+ //return team;
+}
+
+void Scoreboard::removePlayerTeam(PlayerTeam *team)
+{
+ //teamsByName.remove(team.getName());
+
+ //// [TODO]: Loop through scores, remove.
+
+ //for (String player : team.getPlayers()) {
+ // teamsByPlayer.remove(player);
+ //}
+
+ //onTeamRemoved(team);
+}
+
+void Scoreboard::addPlayerToTeam(const wstring &player, PlayerTeam *team)
+{
+ //if (getPlayersTeam(player) != null) {
+ // removePlayerFromTeam(player);
+ //}
+
+ //teamsByPlayer.put(player, team);
+ //team.getPlayers().add(player);
+}
+
+bool Scoreboard::removePlayerFromTeam(const wstring &player)
+{
+ return false;
+ //PlayerTeam team = getPlayersTeam(player);
+
+ //if (team != null) {
+ // removePlayerFromTeam(player, team);
+ // return true;
+ //} else {
+ // return false;
+ //}
+}
+
+void Scoreboard::removePlayerFromTeam(const wstring &player, PlayerTeam *team)
+{
+ //if (getPlayersTeam(player) != team) {
+ // throw new IllegalStateException("Player is either on another team or not on any team. Cannot remove from team '" + team.getName() + "'.");
+ //}
+
+ //teamsByPlayer.remove(player);
+ //team.getPlayers().remove(player);
+}
+
+vector<wstring> *Scoreboard::getTeamNames()
+{
+ return NULL;
+ //return teamsByName.keySet();
+}
+
+vector<PlayerTeam *> *Scoreboard::getPlayerTeams()
+{
+ return NULL;
+ //return teamsByName.values();
+}
+
+shared_ptr<Player> Scoreboard::getPlayer(const wstring &name)
+{
+ return nullptr;
+ //return MinecraftServer.getInstance().getPlayers().getPlayer(name);
+}
+
+PlayerTeam *Scoreboard::getPlayersTeam(const wstring &name)
+{
+ return NULL;
+ //return teamsByPlayer.get(name);
+}
+
+void Scoreboard::onObjectiveAdded(Objective *objective)
+{
+}
+
+void Scoreboard::onObjectiveChanged(Objective *objective)
+{
+}
+
+void Scoreboard::onObjectiveRemoved(Objective *objective)
+{
+}
+
+void Scoreboard::onScoreChanged(Score *score)
+{
+}
+
+void Scoreboard::onPlayerRemoved(const wstring &player)
+{
+}
+
+void Scoreboard::onTeamAdded(PlayerTeam *team)
+{
+}
+
+void Scoreboard::onTeamChanged(PlayerTeam *team)
+{
+}
+
+void Scoreboard::onTeamRemoved(PlayerTeam *team)
+{
+}
+
+wstring Scoreboard::getDisplaySlotName(int slot)
+{
+ switch (slot)
+ {
+ case DISPLAY_SLOT_LIST:
+ return L"list";
+ case DISPLAY_SLOT_SIDEBAR:
+ return L"sidebar";
+ case DISPLAY_SLOT_BELOW_NAME:
+ return L"belowName";
+ default:
+ return L"";
+ }
+}
+
+int Scoreboard::getDisplaySlotByName(const wstring &name)
+{
+ return -1;
+ //if (name.equalsIgnoreCase("list"))
+ //{
+ // return DISPLAY_SLOT_LIST;
+ //}
+ //else if (name.equalsIgnoreCase("sidebar"))
+ //{
+ // return DISPLAY_SLOT_SIDEBAR;
+ //}
+ //else if (name.equalsIgnoreCase("belowName"))
+ //{
+ // return DISPLAY_SLOT_BELOW_NAME;
+ //}
+ //else
+ //{
+ // return -1;
+ //}
+} \ No newline at end of file