aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/EffectCommand.cpp
blob: 5d708db8a814ffbe7cd69fb2a24aceee04702e06 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include "stdafx.h"
#include "net.minecraft.commands.common.h"
#include "..\Minecraft.Client\MinecraftServer.h"

EGameCommand EffectCommand::getId()
{
	return eGameCommand_Effect;
}

int EffectCommand::getPermissionLevel()
{
	return LEVEL_GAMEMASTERS;
}

wstring EffectCommand::getUsage(CommandSender *source)
{
	return L"commands.effect.usage";
}

void EffectCommand::execute(shared_ptr<CommandSender> source, byteArray commandData)
{
	//if (args.length >= 2)
	//{
	//	Player player = convertToPlayer(source, args[0]);

	//	if (args[1].equals("clear")) {
	//		if (player.getActiveEffects().isEmpty()) {
	//			throw new CommandException("commands.effect.failure.notActive.all", player.getAName());
	//		} else {
	//			player.removeAllEffects();
	//			logAdminAction(source, "commands.effect.success.removed.all", player.getAName());
	//		}
	//	} else {
	//		int effectId = convertArgToInt(source, args[1], 1);
	//		int duration = SharedConstants.TICKS_PER_SECOND * 30;
	//		int seconds = 30;
	//		int amplifier = 0;

	//		if (effectId < 0 || effectId >= MobEffect.effects.length || MobEffect.effects[effectId] == null) {
	//			throw new InvalidNumberException("commands.effect.notFound", effectId);
	//		}

	//		if (args.length >= 3) {
	//			seconds = convertArgToInt(source, args[2], 0, 1000000);
	//			if (MobEffect.effects[effectId].isInstantenous()) {
	//				duration = seconds;
	//			} else {
	//				duration = seconds * SharedConstants.TICKS_PER_SECOND;
	//			}
	//		} else if (MobEffect.effects[effectId].isInstantenous()) {
	//			duration = 1;
	//		}

	//		if (args.length >= 4) {
	//			amplifier = convertArgToInt(source, args[3], 0, 255);
	//		}

	//		if (seconds == 0) {
	//			if (player.hasEffect(effectId)) {
	//				player.removeEffect(effectId);
	//				logAdminAction(source, "commands.effect.success.removed", ChatMessageComponent.forTranslation(MobEffect.effects[effectId].getDescriptionId()), player.getAName());
	//			} else {
	//				throw new CommandException("commands.effect.failure.notActive", ChatMessageComponent.forTranslation(MobEffect.effects[effectId].getDescriptionId()), player.getAName());
	//			}
	//		} else {
	//			MobEffectInstance instance = new MobEffectInstance(effectId, duration, amplifier);
	//			player.addEffect(instance);
	//			logAdminAction(source, "commands.effect.success", ChatMessageComponent.forTranslation(instance.getDescriptionId()), effectId, amplifier, player.getAName(), seconds);
	//		}
	//	}

	//	return;
	//}

	//throw new UsageException("commands.effect.usage");
}

wstring EffectCommand::getPlayerNames()
{
	return L""; //MinecraftServer::getInstance()->getPlayerNames();
}

bool EffectCommand::isValidWildcardPlayerArgument(wstring args, int argumentIndex)
{
	return argumentIndex == 0;
}