BloodMagic/src/main/java/WayofTime/bloodmagic/command/sub/SubCommandOrb.java

125 lines
4 KiB
Java
Raw Normal View History

package WayofTime.bloodmagic.command.sub;
import WayofTime.bloodmagic.api.saving.SoulNetwork;
import WayofTime.bloodmagic.api.util.helper.NetworkHelper;
import WayofTime.bloodmagic.api.util.helper.PlayerHelper;
2017-01-02 05:43:34 +00:00
import WayofTime.bloodmagic.command.CommandBloodMagic;
import WayofTime.bloodmagic.util.Utils;
import WayofTime.bloodmagic.util.helper.TextHelper;
2017-01-02 05:43:34 +00:00
import net.minecraft.command.*;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.text.TextComponentString;
import java.util.Locale;
2017-01-02 05:43:34 +00:00
public class SubCommandOrb extends CommandBase
2016-03-16 22:41:06 +00:00
{
@Override
2017-01-02 05:43:34 +00:00
public String getName() {
return "orb";
}
@Override
2017-01-02 05:43:34 +00:00
public String getUsage(ICommandSender commandSender)
2016-03-16 22:41:06 +00:00
{
2017-01-02 05:43:34 +00:00
return TextHelper.localizeEffect("commands.orb.usage");
}
@Override
public int getRequiredPermissionLevel()
{
return 2;
}
@Override
2017-01-02 05:43:34 +00:00
public void execute(MinecraftServer server, ICommandSender commandSender, String[] args) throws CommandException
2016-03-16 22:41:06 +00:00
{
if (args.length > 0)
{
if (args[0].equalsIgnoreCase("help"))
return;
2016-03-16 22:41:06 +00:00
try
{
String givenName = commandSender.getName();
if (args.length > 1)
givenName = args[1];
EntityPlayer player = CommandBase.getPlayer(server, commandSender, givenName);
String uuid = PlayerHelper.getUUIDFromPlayer(player).toString();
SoulNetwork network = NetworkHelper.getSoulNetwork(uuid);
2017-01-02 05:43:34 +00:00
boolean displayHelp = args.length > 0 && args.length < 2;
2016-03-16 22:41:06 +00:00
try
{
switch (ValidCommands.valueOf(args[0].toUpperCase(Locale.ENGLISH)))
{
case SET:
{
if (displayHelp)
{
2017-01-02 05:43:34 +00:00
CommandBloodMagic.displayHelpString(commandSender, ValidCommands.SET.help);
2016-03-16 22:41:06 +00:00
break;
}
2016-03-16 22:41:06 +00:00
if (args.length == 3)
{
if (Utils.isInteger(args[2]))
{
int amount = Integer.parseInt(args[2]);
network.setOrbTier(amount);
2017-01-02 05:43:34 +00:00
CommandBloodMagic.displaySuccessString(commandSender, "commands.success");
2016-03-16 22:41:06 +00:00
} else
{
2017-01-02 05:43:34 +00:00
CommandBloodMagic.displayErrorString(commandSender, "commands.error.arg.invalid");
}
2016-03-16 22:41:06 +00:00
} else
{
2017-01-02 05:43:34 +00:00
CommandBloodMagic.displayErrorString(commandSender, "commands.error.arg.missing");
2016-03-16 22:41:06 +00:00
}
2016-03-16 22:41:06 +00:00
break;
}
case GET:
{
if (displayHelp)
{
2017-01-02 05:43:34 +00:00
CommandBloodMagic.displayHelpString(commandSender, ValidCommands.GET.help);
break;
}
2016-03-16 22:41:06 +00:00
if (args.length > 1)
2017-01-02 05:43:34 +00:00
commandSender.sendMessage(new TextComponentString(TextHelper.localizeEffect("message.orb.currenttier", network.getOrbTier())));
2016-03-16 22:41:06 +00:00
break;
}
}
2016-03-16 22:41:06 +00:00
} catch (IllegalArgumentException e)
{
2017-01-02 05:43:34 +00:00
CommandBloodMagic.displayErrorString(commandSender, "commands.error.404");
}
2016-03-16 22:41:06 +00:00
} catch (PlayerNotFoundException e)
{
2017-01-02 05:43:34 +00:00
CommandBloodMagic.displayErrorString(commandSender, "commands.error.404");
}
}
}
2016-03-16 22:41:06 +00:00
private enum ValidCommands
{
SET("commands.orb.set.help"),
GET("commands.orb.get.help");
public String help;
2016-03-16 22:41:06 +00:00
ValidCommands(String help)
{
this.help = help;
}
}
}