From b3feddfef372618c8a9d7a0abcaf18cfad866c18 Mon Sep 17 00:00:00 2001 From: daoge <3523206925@qq.com> Date: Tue, 3 Mar 2026 03:04:10 +0800 Subject: 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 --- Minecraft.Client/ServerScoreboard.cpp | 231 ++++++++++++++++++++++++++++++++++ 1 file changed, 231 insertions(+) create mode 100644 Minecraft.Client/ServerScoreboard.cpp (limited to 'Minecraft.Client/ServerScoreboard.cpp') diff --git a/Minecraft.Client/ServerScoreboard.cpp b/Minecraft.Client/ServerScoreboard.cpp new file mode 100644 index 00000000..738a29c9 --- /dev/null +++ b/Minecraft.Client/ServerScoreboard.cpp @@ -0,0 +1,231 @@ +#include "stdafx.h" + +#include "ServerScoreboard.h" + +ServerScoreboard::ServerScoreboard(MinecraftServer *server) +{ + this->server = server; +} + +MinecraftServer *ServerScoreboard::getServer() +{ + return server; +} + +void ServerScoreboard::onScoreChanged(Score *score) +{ + //Scoreboard::onScoreChanged(score); + + //if (trackedObjectives.contains(score.getObjective())) + //{ + // server->getPlayers()->broadcastAll( shared_ptr( new SetScorePacket(score, SetScorePacket::METHOD_CHANGE))); + //} + + //setDirty(); +} + +void ServerScoreboard::onPlayerRemoved(const wstring &player) +{ + //Scoreboard::onPlayerRemoved(player); + //server->getPlayers()->broadcastAll( shared_ptr( new SetScorePacket(player))); + //setDirty(); +} + +void ServerScoreboard::setDisplayObjective(int slot, Objective *objective) +{ + //Objective *old = getDisplayObjective(slot); + + //Scoreboard::setDisplayObjective(slot, objective); + + //if (old != objective && old != NULL) + //{ + // if (getObjectiveDisplaySlotCount(old) > 0) + // { + // server->getPlayers()->broadcastAll( shared_ptr( new SetDisplayObjectivePacket(slot, objective))); + // } + // else + // { + // stopTrackingObjective(old); + // } + //} + + //if (objective != NULL) + //{ + // if (trackedObjectives.contains(objective)) + // { + // server->getPlayers()->broadcastAll( shared_ptr( new SetDisplayObjectivePacket(slot, objective))); + // } + // else + // { + // startTrackingObjective(objective); + // } + //} + + //setDirty(); +} + +void ServerScoreboard::addPlayerToTeam(const wstring &player, PlayerTeam *team) +{ + //Scoreboard::addPlayerToTeam(player, team); + + //server->getPlayers()->broadcastAll( shared_ptr( new SetPlayerTeamPacket(team, Arrays::asList(player), SetPlayerTeamPacket::METHOD_JOIN))); + + //setDirty(); +} + +void ServerScoreboard::removePlayerFromTeam(const wstring &player, PlayerTeam *team) +{ + //Scoreboard::removePlayerFromTeam(player, team); + + //server->getPlayers()->broadcastAll( shared_ptr( new SetPlayerTeamPacket(team, Arrays::asList(player), SetPlayerTeamPacket::METHOD_LEAVE))); + + //setDirty(); +} + +void ServerScoreboard::onObjectiveAdded(Objective *objective) +{ + //Scoreboard::onObjectiveAdded(objective); + //setDirty(); +} + +void ServerScoreboard::onObjectiveChanged(Objective *objective) +{ + //Scoreaboard::onObjectiveChanged(objective); + + //if (trackedObjectives.contains(objective)) + //{ + // server->getPlayers()->broadcastAll( shared_ptr( new SetObjectivePacket(objective, SetObjectivePacket::METHOD_CHANGE))); + //} + + //setDirty(); +} + +void ServerScoreboard::onObjectiveRemoved(Objective *objective) +{ + //Scoreboard::onObjectiveRemoved(objective); + + //if (trackedObjectives.contains(objective)) + //{ + // stopTrackingObjective(objective); + //} + + //setDirty(); +} + +void ServerScoreboard::onTeamAdded(PlayerTeam *team) +{ + //Scoreboard::onTeamAdded(team); + + //server->getPlayers()->broadcastAll( shared_ptr( new SetPlayerTeamPacket(team, SetPlayerTeamPacket::METHOD_ADD)) ); + + //setDirty(); +} + +void ServerScoreboard::onTeamChanged(PlayerTeam *team) +{ + //Scoreboard::onTeamChanged(team); + + //server->getPlayers()->broadcastAll( shared_ptr( new SetPlayerTeamPacket(team, SetPlayerTeamPacket::METHOD_CHANGE))); + + //setDirty(); +} + +void ServerScoreboard::onTeamRemoved(PlayerTeam *team) +{ + //Scoreboard::onTeamRemoved(team); + + //server->getPlayers()->broadcastAll( shared_ptr( new SetPlayerTeamPacket(team, SetPlayerTeamPacket::METHOD_REMOVE)) ); + + //setDirty(); +} + +void ServerScoreboard::setSaveData(ScoreboardSaveData *data) +{ + //saveData = data; +} + +void ServerScoreboard::setDirty() +{ + //if (saveData != NULL) + //{ + // saveData->setDirty(); + //} +} + +vector > *ServerScoreboard::getStartTrackingPackets(Objective *objective) +{ + return NULL; + + //vector > *packets = new vector >(); + //packets.push_back( shared_ptr( new SetObjectivePacket(objective, SetObjectivePacket::METHOD_ADD))); + + //for (int slot = 0; slot < DISPLAY_SLOTS; slot++) + //{ + // if (getDisplayObjective(slot) == objective) packets.push_back( shared_ptr( new SetDisplayObjectivePacket(slot, objective))); + //} + + //for (Score score : getPlayerScores(objective)) + //{ + // packets.push_back( shared_ptr( new SetScorePacket(score, SetScorePacket::METHOD_CHANGE))); + //} + + //return packets; +} + +void ServerScoreboard::startTrackingObjective(Objective *objective) +{ + //vector > *packets = getStartTrackingPackets(objective); + + //for (ServerPlayer player : server.getPlayers().players) + //{ + // for (Packet packet : packets) + // { + // player.connection.send(packet); + // } + //} + + //trackedObjectives.push_back(objective); +} + +vector > *ServerScoreboard::getStopTrackingPackets(Objective *objective) +{ + return NULL; + + //vector > *packets = new ArrayList(); + //packets->push_back( shared_ptr > *packets = getStopTrackingPackets(objective); + + //for (ServerPlayer player : server.getPlayers().players) + //{ + // for (Packet packet : packets) + // { + // player->connection->send(packet); + // } + //} + + //trackedObjectives.remove(objective); +} + +int ServerScoreboard::getObjectiveDisplaySlotCount(Objective *objective) +{ + return 0; + //int count = 0; + + //for (int slot = 0; slot < DISPLAY_SLOTS; slot++) + //{ + // if (getDisplayObjective(slot) == objective) count++; + //} + + //return count; +} \ No newline at end of file -- cgit v1.2.3