Debug commands
Not fully tested. The ones tested do work, though.
This commit is contained in:
parent
a3b7001d55
commit
d9e9a4704a
9 changed files with 644 additions and 4 deletions
|
@ -0,0 +1,108 @@
|
|||
package WayofTime.bloodmagic.command.sub;
|
||||
|
||||
import WayofTime.bloodmagic.api.network.SoulNetwork;
|
||||
import WayofTime.bloodmagic.api.util.helper.NetworkHelper;
|
||||
import WayofTime.bloodmagic.api.util.helper.PlayerHelper;
|
||||
import WayofTime.bloodmagic.command.SubCommandBase;
|
||||
import WayofTime.bloodmagic.util.Utils;
|
||||
import WayofTime.bloodmagic.util.helper.TextHelper;
|
||||
import net.minecraft.command.ICommand;
|
||||
import net.minecraft.command.ICommandSender;
|
||||
import net.minecraft.command.PlayerNotFoundException;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import net.minecraft.util.StatCollector;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
public class SubCommandOrb extends SubCommandBase {
|
||||
|
||||
public SubCommandOrb(ICommand parent) {
|
||||
super(parent, "orb");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getArgUsage(ICommandSender commandSender) {
|
||||
return StatCollector.translateToLocal("commands.orb.usage");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getHelpText() {
|
||||
return StatCollector.translateToLocal("commands.orb.help");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processSubCommand(ICommandSender commandSender, String[] args) {
|
||||
super.processSubCommand(commandSender, args);
|
||||
|
||||
if (args.length > 0) {
|
||||
|
||||
if (args[0].equalsIgnoreCase("help"))
|
||||
return;
|
||||
|
||||
try {
|
||||
String givenName = commandSender.getName();
|
||||
|
||||
if (args.length > 1)
|
||||
givenName = args[1];
|
||||
|
||||
EntityPlayer player = getPlayer(commandSender, givenName);
|
||||
String uuid = PlayerHelper.getUUIDFromPlayer(player).toString();
|
||||
SoulNetwork network = NetworkHelper.getSoulNetwork(uuid);
|
||||
|
||||
boolean displayHelp = isBounded(0, 2, args.length);
|
||||
|
||||
try {
|
||||
switch (ValidCommands.valueOf(args[0].toUpperCase(Locale.ENGLISH))) {
|
||||
case SET: {
|
||||
if (displayHelp) {
|
||||
displayHelpString(commandSender, ValidCommands.SET.help);
|
||||
break;
|
||||
}
|
||||
|
||||
if (args.length == 3) {
|
||||
if (Utils.isInteger(args[2])) {
|
||||
int amount = Integer.parseInt(args[2]);
|
||||
network.setOrbTier(amount);
|
||||
displaySuccessString(commandSender, "commands.success");
|
||||
} else {
|
||||
displayErrorString(commandSender, "commands.error.arg.invalid");
|
||||
}
|
||||
} else {
|
||||
displayErrorString(commandSender, "commands.error.arg.missing");
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case GET: {
|
||||
if (displayHelp) {
|
||||
displayHelpString(commandSender, ValidCommands.GET.help);
|
||||
break;
|
||||
}
|
||||
|
||||
if (args.length > 1)
|
||||
commandSender.addChatMessage(new ChatComponentText(TextHelper.localizeEffect("message.orb.currenttier", network.getOrbTier())));
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
} catch (IllegalArgumentException e) {
|
||||
displayErrorString(commandSender, "commands.error.404");
|
||||
}
|
||||
} catch (PlayerNotFoundException e) {
|
||||
displayErrorString(commandSender, "commands.error.404");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private enum ValidCommands {
|
||||
SET("commands.orb.set.help"),
|
||||
GET("commands.orb.get.help");
|
||||
|
||||
public String help;
|
||||
|
||||
ValidCommands(String help) {
|
||||
this.help = help;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue