diff options
Diffstat (limited to 'Minecraft.World/ExperienceCommand.cpp')
| -rw-r--r-- | Minecraft.World/ExperienceCommand.cpp | 68 |
1 files changed, 43 insertions, 25 deletions
diff --git a/Minecraft.World/ExperienceCommand.cpp b/Minecraft.World/ExperienceCommand.cpp index b8ac2efc..9a59d71a 100644 --- a/Minecraft.World/ExperienceCommand.cpp +++ b/Minecraft.World/ExperienceCommand.cpp @@ -2,6 +2,7 @@ #include "net.minecraft.commands.h" #include "..\Minecraft.Client\MinecraftServer.h" #include "..\Minecraft.Client\PlayerList.h" +#include "net.minecraft.world.level.h" #include "ExperienceCommand.h" EGameCommand ExperienceCommand::getId() @@ -9,33 +10,50 @@ EGameCommand ExperienceCommand::getId() return eGameCommand_Experience; } -void ExperienceCommand::execute(shared_ptr<CommandSender> source, byteArray commandData) +int ExperienceCommand::getPermissionLevel() { - //if (args.length > 0) - //{ - // Player player; - // int amount = convertArgToInt(source, args[0], 0, 5000); - - // if (args.length > 1) { - // player = getPlayer(args[1]); - // } else { - // player = convertSourceToPlayer(source); - // } - - // player.increaseXp(amount); - // logAdminAction(source, "commands.xp.success", amount, player.getAName()); - //} + return LEVEL_GAMEMASTERS; } -shared_ptr<Player> ExperienceCommand::getPlayer(PlayerUID playerId) +void ExperienceCommand::execute(shared_ptr<CommandSender> source, byteArray commandData) { - return nullptr; - //shared_ptr<Player> player = MinecraftServer::getInstance()->getPlayers()->getPlayer(playerId); - - //if (player == null) - //{ - // throw new PlayerNotFoundException(); - //} else { - // return player; - //} +// if (args.length > 0) { +// Player player; +// String inputAmount = args[0]; +// +// boolean levels = inputAmount.endsWith("l") || inputAmount.endsWith("L"); +// if (levels && inputAmount.length() > 1) inputAmount = inputAmount.substring(0, inputAmount.length() - 1); +// +// int amount = convertArgToInt(source, inputAmount); +// boolean take = amount < 0; +// +// if (take) amount *= -1; +// +// if (args.length > 1) { +// player = convertToPlayer(source, args[1]); +// } else { +// player = convertSourceToPlayer(source); +// } +// +// if (levels) { +// if (take) { +// player.giveExperienceLevels(-amount); +// logAdminAction(source, "commands.xp.success.negative.levels", amount, player.getAName()); +// } else { +// player.giveExperienceLevels(amount); +// logAdminAction(source, "commands.xp.success.levels", amount, player.getAName()); +// } +// } else { +// if (take) { +// throw new UsageException("commands.xp.failure.widthdrawXp"); +// } else { +// player.increaseXp(amount); +// logAdminAction(source, "commands.xp.success", amount, player.getAName()); +// } +// } +// +// return; +// } +// +// throw new UsageException("commands.xp.usage"); }
\ No newline at end of file |
