2016-03-15 02:00:03 +00:00
|
|
|
package WayofTime.bloodmagic.command.sub;
|
|
|
|
|
|
|
|
import WayofTime.bloodmagic.api.network.SoulNetwork;
|
|
|
|
import WayofTime.bloodmagic.api.util.helper.NetworkHelper;
|
|
|
|
import WayofTime.bloodmagic.command.SubCommandBase;
|
|
|
|
import WayofTime.bloodmagic.util.Utils;
|
|
|
|
import WayofTime.bloodmagic.util.helper.TextHelper;
|
2016-03-17 20:00:44 +00:00
|
|
|
import net.minecraft.command.CommandBase;
|
2016-03-15 02:00:03 +00:00
|
|
|
import net.minecraft.command.ICommand;
|
|
|
|
import net.minecraft.command.ICommandSender;
|
|
|
|
import net.minecraft.command.PlayerNotFoundException;
|
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
2016-03-17 20:00:44 +00:00
|
|
|
import net.minecraft.server.MinecraftServer;
|
|
|
|
import net.minecraft.util.text.TextComponentString;
|
2016-03-15 02:00:03 +00:00
|
|
|
|
|
|
|
import java.util.Locale;
|
|
|
|
|
2016-03-16 22:41:06 +00:00
|
|
|
public class SubCommandNetwork extends SubCommandBase
|
|
|
|
{
|
2016-03-15 02:00:03 +00:00
|
|
|
|
2016-03-16 22:41:06 +00:00
|
|
|
public SubCommandNetwork(ICommand parent)
|
|
|
|
{
|
2016-03-15 02:00:03 +00:00
|
|
|
super(parent, "network");
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2016-03-16 22:41:06 +00:00
|
|
|
public String getArgUsage(ICommandSender commandSender)
|
|
|
|
{
|
2016-03-17 20:00:44 +00:00
|
|
|
return TextHelper.localizeEffect("commands.network.usage");
|
2016-03-15 02:00:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2016-03-16 22:41:06 +00:00
|
|
|
public String getHelpText()
|
|
|
|
{
|
2016-03-17 20:00:44 +00:00
|
|
|
return TextHelper.localizeEffect("commands.network.help");
|
2016-03-15 02:00:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2016-03-17 20:00:44 +00:00
|
|
|
public void processSubCommand(MinecraftServer server, ICommandSender commandSender, String[] args)
|
2016-03-16 22:41:06 +00:00
|
|
|
{
|
2016-03-17 20:00:44 +00:00
|
|
|
super.processSubCommand(server, commandSender, args);
|
2016-03-15 02:00:03 +00:00
|
|
|
|
2016-03-16 22:41:06 +00:00
|
|
|
if (args.length > 0)
|
|
|
|
{
|
2016-03-15 02:00:03 +00:00
|
|
|
|
|
|
|
if (args[0].equalsIgnoreCase("help"))
|
|
|
|
return;
|
|
|
|
|
2016-03-16 22:41:06 +00:00
|
|
|
try
|
|
|
|
{
|
2016-03-15 02:00:03 +00:00
|
|
|
String givenName = commandSender.getName();
|
2016-03-17 20:00:44 +00:00
|
|
|
EntityPlayer player = CommandBase.getCommandSenderAsPlayer(commandSender);
|
2016-03-15 02:00:03 +00:00
|
|
|
|
2016-03-16 22:41:06 +00:00
|
|
|
if (args.length > 1)
|
|
|
|
{
|
2016-03-15 02:00:03 +00:00
|
|
|
givenName = args[1];
|
2016-03-17 20:00:44 +00:00
|
|
|
player = CommandBase.getPlayer(server, commandSender, givenName);
|
2016-03-15 02:00:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
SoulNetwork network = NetworkHelper.getSoulNetwork(player);
|
|
|
|
boolean displayHelp = isBounded(0, 2, args.length);
|
|
|
|
|
2016-03-16 22:41:06 +00:00
|
|
|
try
|
|
|
|
{
|
|
|
|
switch (ValidCommands.valueOf(args[0].toUpperCase(Locale.ENGLISH)))
|
|
|
|
{
|
|
|
|
case SYPHON:
|
|
|
|
{
|
|
|
|
if (displayHelp)
|
|
|
|
{
|
|
|
|
displayHelpString(commandSender, ValidCommands.SYPHON.help);
|
|
|
|
break;
|
|
|
|
}
|
2016-03-15 02:00:03 +00:00
|
|
|
|
2016-03-16 22:41:06 +00:00
|
|
|
if (args.length == 3)
|
|
|
|
{
|
|
|
|
if (Utils.isInteger(args[2]))
|
|
|
|
{
|
|
|
|
int amount = Integer.parseInt(args[2]);
|
|
|
|
NetworkHelper.syphonAndDamage(NetworkHelper.getSoulNetwork(player), player, amount);
|
|
|
|
displaySuccessString(commandSender, "commands.network.syphon.success", amount, givenName);
|
|
|
|
} else
|
|
|
|
{
|
|
|
|
displayErrorString(commandSender, "commands.error.arg.invalid");
|
2016-03-15 02:00:03 +00:00
|
|
|
}
|
2016-03-16 22:41:06 +00:00
|
|
|
} else
|
|
|
|
{
|
|
|
|
displayErrorString(commandSender, "commands.error.arg.missing");
|
|
|
|
}
|
2016-03-15 02:00:03 +00:00
|
|
|
|
2016-03-16 22:41:06 +00:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
case ADD:
|
|
|
|
{
|
|
|
|
if (displayHelp)
|
|
|
|
{
|
|
|
|
displayHelpString(commandSender, ValidCommands.ADD.help);
|
2016-03-15 02:00:03 +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]);
|
|
|
|
int maxOrb = NetworkHelper.getMaximumForTier(network.getOrbTier());
|
|
|
|
displaySuccessString(commandSender, "commands.network.add.success", network.addLifeEssence(amount, maxOrb), givenName);
|
|
|
|
} else
|
|
|
|
{
|
|
|
|
displayErrorString(commandSender, "commands.error.arg.invalid");
|
2016-03-15 02:00:03 +00:00
|
|
|
}
|
2016-03-16 22:41:06 +00:00
|
|
|
} else
|
|
|
|
{
|
|
|
|
displayErrorString(commandSender, "commands.error.arg.missing");
|
|
|
|
}
|
2016-03-15 02:00:03 +00:00
|
|
|
|
2016-03-16 22:41:06 +00:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
case SET:
|
|
|
|
{
|
|
|
|
if (displayHelp)
|
|
|
|
{
|
|
|
|
displayHelpString(commandSender, ValidCommands.SET.help);
|
2016-03-15 02:00:03 +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.setCurrentEssence(amount);
|
|
|
|
displaySuccessString(commandSender, "commands.network.set.success", givenName, amount);
|
|
|
|
} else
|
|
|
|
{
|
|
|
|
displayErrorString(commandSender, "commands.error.arg.invalid");
|
2016-03-15 02:00:03 +00:00
|
|
|
}
|
2016-03-16 22:41:06 +00:00
|
|
|
} else
|
|
|
|
{
|
|
|
|
displayErrorString(commandSender, "commands.error.arg.missing");
|
|
|
|
}
|
2016-03-15 02:00:03 +00:00
|
|
|
|
2016-03-16 22:41:06 +00:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
case GET:
|
|
|
|
{
|
|
|
|
if (displayHelp)
|
|
|
|
{
|
|
|
|
displayHelpString(commandSender, ValidCommands.GET.help);
|
2016-03-15 02:00:03 +00:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2016-03-16 22:41:06 +00:00
|
|
|
if (args.length > 1)
|
2016-03-17 20:00:44 +00:00
|
|
|
commandSender.addChatMessage(new TextComponentString(TextHelper.localizeEffect("message.divinationsigil.currentessence", network.getCurrentEssence())));
|
2016-03-15 02:00:03 +00:00
|
|
|
|
2016-03-16 22:41:06 +00:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
case FILL:
|
|
|
|
{
|
|
|
|
if (displayHelp)
|
|
|
|
{
|
|
|
|
displayHelpString(commandSender, ValidCommands.FILL.help, Integer.MAX_VALUE);
|
2016-03-15 02:00:03 +00:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2016-03-16 22:41:06 +00:00
|
|
|
if (args.length > 1)
|
|
|
|
{
|
|
|
|
network.setCurrentEssence(Integer.MAX_VALUE);
|
|
|
|
displaySuccessString(commandSender, "commands.network.fill.success", givenName);
|
|
|
|
}
|
2016-03-15 02:00:03 +00:00
|
|
|
|
2016-03-16 22:41:06 +00:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
case CAP:
|
|
|
|
{
|
|
|
|
if (displayHelp)
|
|
|
|
{
|
|
|
|
displayHelpString(commandSender, ValidCommands.CAP.help);
|
2016-03-15 02:00:03 +00:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2016-03-16 22:41:06 +00:00
|
|
|
if (args.length > 1)
|
|
|
|
{
|
|
|
|
int maxOrb = NetworkHelper.getMaximumForTier(network.getOrbTier());
|
|
|
|
network.setCurrentEssence(maxOrb);
|
|
|
|
displaySuccessString(commandSender, "commands.network.cap.success", givenName);
|
2016-03-15 02:00:03 +00:00
|
|
|
}
|
2016-03-16 22:41:06 +00:00
|
|
|
|
|
|
|
break;
|
|
|
|
}
|
2016-03-15 02:00:03 +00:00
|
|
|
}
|
2016-03-16 22:41:06 +00:00
|
|
|
} catch (IllegalArgumentException e)
|
|
|
|
{
|
2016-03-15 02:00:03 +00:00
|
|
|
displayErrorString(commandSender, "commands.error.404");
|
|
|
|
}
|
2016-03-16 22:41:06 +00:00
|
|
|
} catch (PlayerNotFoundException e)
|
|
|
|
{
|
2016-03-15 02:00:03 +00:00
|
|
|
displayErrorString(commandSender, "commands.error.404");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-03-16 22:41:06 +00:00
|
|
|
private enum ValidCommands
|
|
|
|
{
|
2016-03-15 02:00:03 +00:00
|
|
|
SYPHON("commands.network.syphon.help"),
|
|
|
|
ADD("commands.network.add.help"),
|
|
|
|
SET("commands.network.set.help"),
|
|
|
|
GET("commands.network.get.help"),
|
|
|
|
FILL("commands.network.fill.help"),
|
|
|
|
CAP("commands.network.cap.help");
|
|
|
|
|
|
|
|
public String help;
|
|
|
|
|
2016-03-16 22:41:06 +00:00
|
|
|
ValidCommands(String help)
|
|
|
|
{
|
2016-03-15 02:00:03 +00:00
|
|
|
this.help = help;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|