aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/ServerCommandDispatcher.cpp
diff options
context:
space:
mode:
authordaoge_cmd <3523206925@qq.com>2026-03-01 12:16:08 +0800
committerdaoge_cmd <3523206925@qq.com>2026-03-01 12:16:08 +0800
commitb691c43c44ff180d10e7d4a9afc83b98551ff586 (patch)
tree3e9849222cbc6ba49f2f1fc6e5fe7179632c7390 /Minecraft.Client/ServerCommandDispatcher.cpp
parentdef8cb415354ac390b7e89052a50605285f1aca9 (diff)
Initial commit
Diffstat (limited to 'Minecraft.Client/ServerCommandDispatcher.cpp')
-rw-r--r--Minecraft.Client/ServerCommandDispatcher.cpp75
1 files changed, 75 insertions, 0 deletions
diff --git a/Minecraft.Client/ServerCommandDispatcher.cpp b/Minecraft.Client/ServerCommandDispatcher.cpp
new file mode 100644
index 00000000..51dd42fe
--- /dev/null
+++ b/Minecraft.Client/ServerCommandDispatcher.cpp
@@ -0,0 +1,75 @@
+#include "stdafx.h"
+#include "MinecraftServer.h"
+#include "PlayerList.h"
+#include "ServerPlayer.h"
+#include "..\Minecraft.World\net.minecraft.commands.h"
+#include "..\Minecraft.World\net.minecraft.commands.common.h"
+#include "TeleportCommand.h"
+#include "ServerCommandDispatcher.h"
+
+ServerCommandDispatcher::ServerCommandDispatcher()
+{
+ addCommand(new TimeCommand());
+ addCommand(new GameModeCommand());
+ addCommand(new DefaultGameModeCommand());
+ addCommand(new KillCommand());
+ addCommand(new ToggleDownfallCommand());
+ addCommand(new ExperienceCommand());
+ addCommand(new TeleportCommand());
+ addCommand(new GiveItemCommand());
+ addCommand(new EnchantItemCommand());
+ //addCommand(new EmoteCommand());
+ //addCommand(new ShowSeedCommand());
+ //addCommand(new HelpCommand());
+ //addCommand(new DebugCommand());
+ //addCommand(new MessageCommand());
+
+ //if (MinecraftServer::getInstance()->isDedicatedServer())
+ //{
+ // addCommand(new OpCommand());
+ // addCommand(new DeOpCommand());
+ // addCommand(new StopCommand());
+ // addCommand(new SaveAllCommand());
+ // addCommand(new SaveOffCommand());
+ // addCommand(new SaveOnCommand());
+ // addCommand(new BanIpCommand());
+ // addCommand(new PardonIpCommand());
+ // addCommand(new BanPlayerCommand());
+ // addCommand(new ListBansCommand());
+ // addCommand(new PardonPlayerCommand());
+ // addCommand(new KickCommand());
+ // addCommand(new ListPlayersCommand());
+ // addCommand(new BroadcastCommand());
+ // addCommand(new WhitelistCommand());
+ //}
+ //else
+ //{
+ // addCommand(new PublishLocalServerCommand());
+ //}
+
+ // addCommand(new ServerTempDebugCommand());
+
+ Command::setLogger(this);
+}
+
+void ServerCommandDispatcher::logAdminCommand(shared_ptr<CommandSender> source, int type, ChatPacket::EChatPacketMessage messageType, const wstring& message, int customData, const wstring& additionalMessage)
+{
+ PlayerList *playerList = MinecraftServer::getInstance()->getPlayers();
+ //for (Player player : MinecraftServer.getInstance().getPlayers().players)
+ for(AUTO_VAR(it, playerList->players.begin()); it != playerList->players.end(); ++it)
+ {
+ shared_ptr<ServerPlayer> player = *it;
+ if (player != source && playerList->isOp(player))
+ {
+ // TODO: Change chat packet to be able to send more bits of data
+ // 4J Stu - Take this out until we can add the name of the player performing the action. Also if the target is a mod then maybe don't need the message?
+ //player->sendMessage(message, messageType, customData, additionalMessage);
+ //player->sendMessage("\u00A77\u00A7o[" + source.getName() + ": " + player.localize(message, args) + "]");
+ }
+ }
+
+ if ((type & LOGTYPE_DONT_SHOW_TO_SELF) != LOGTYPE_DONT_SHOW_TO_SELF)
+ {
+ source->sendMessage(message, messageType, customData, additionalMessage);
+ }
+} \ No newline at end of file