Simple Lightning Plugin
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
LightningEvents/src/net/mcbat/LightningEvent/Commands/SubcommandFake.java

86 lines
3.8 KiB

package net.mcbat.LightningEvent.Commands;
import net.mcbat.LightningEvent.LightningEvent;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class SubcommandFake {
private final LightningEvent _plugin;
private final CommandCast _command;
public SubcommandFake(LightningEvent plugin, CommandCast command) {
_plugin = plugin;
_command = command;
}
public boolean onConsoleCommand(CommandSender sender, Command command, String label, String[] args) {
switch (args.length) {
case 5:
if (_command.checkWorld(args[1]) && _command.checkLocation(args[2], args[3], args[4]))
_plugin.castFakeLightningAtLocation(new Location(_plugin.getServer().getWorld(args[1]), Integer.parseInt(args[2]), Integer.parseInt(args[3]), Integer.parseInt(args[4])));
else
commandUsage(sender, label, false);
break;
case 2:
if (_command.checkPlayer(args[1]))
_plugin.castFakeLightningAtLocation(_plugin.getServer().getPlayer(args[1]).getLocation());
else
commandUsage(sender, label, false);
break;
default:
commandUsage(sender, label, false);
break;
}
return true;
}
public boolean onPlayerCommand(CommandSender sender, Command command, String label, String[] args) {
switch (args.length) {
case 5:
if (_command.checkWorld(args[1]) && _command.checkLocation(args[2], args[3], args[4]))
_plugin.castFakeLightningAtLocation(new Location(_plugin.getServer().getWorld(args[1]), Integer.parseInt(args[2]), Integer.parseInt(args[3]), Integer.parseInt(args[4])));
else
commandUsage(sender, label, true);
break;
case 4:
if (_command.checkLocation(args[1], args[2], args[3]))
_plugin.castFakeLightningAtLocation(new Location(((Player) sender).getWorld(), Integer.parseInt(args[1]), Integer.parseInt(args[2]), Integer.parseInt(args[3])));
else
commandUsage(sender, label, true);
break;
case 2:
if (_command.checkPlayer(args[1]))
_plugin.castFakeLightningAtLocation(_plugin.getServer().getPlayer(args[1]).getLocation());
else
commandUsage(sender, label, true);
break;
case 1:
_plugin.castFakeLightningAtLocation(((Player) sender).getTargetBlock(null, 600).getLocation());
break;
default:
commandUsage(sender, label, true);
break;
}
return true;
}
private void commandUsage(CommandSender sender, String label, boolean isPlayer) {
if (!isPlayer) {
sender.sendMessage(ChatColor.RED+"[==== "+ChatColor.GREEN+"/"+label+" fake"+ChatColor.RED+" ====]");
sender.sendMessage(ChatColor.GREEN+"/"+label+" fake "+ChatColor.LIGHT_PURPLE+"<world> <x> <y> <z>"+ChatColor.GREEN+" - "+ChatColor.WHITE+"Casts a fake lightning bolt.");
sender.sendMessage(ChatColor.GREEN+"/"+label+" fake "+ChatColor.LIGHT_PURPLE+"<player>"+ChatColor.GREEN+" - "+ChatColor.WHITE+"Casts a fake lightning bolt on a player.");
}
else {
sender.sendMessage(ChatColor.RED+"[==== "+ChatColor.GREEN+"/"+label+" fake"+ChatColor.RED+" ====]");
sender.sendMessage(ChatColor.GREEN+"/"+label+" fake "+ChatColor.LIGHT_PURPLE+"<world> <x> <y> <z>"+ChatColor.GREEN+" - "+ChatColor.WHITE+"Casts a fake lightning bolt in the specified world and location.");
sender.sendMessage(ChatColor.GREEN+"/"+label+" fake "+ChatColor.LIGHT_PURPLE+"<x> <y> <z>"+ChatColor.GREEN+" - "+ChatColor.WHITE+"Casts a fake lightning bolt in the current world at the specified location.");
sender.sendMessage(ChatColor.GREEN+"/"+label+" fake "+ChatColor.LIGHT_PURPLE+"<player>"+ChatColor.GREEN+" - "+ChatColor.WHITE+"Casts a fake lightning bolt on a player.");
sender.sendMessage(ChatColor.GREEN+"/"+label+" fake "+ChatColor.GREEN+" - "+ChatColor.WHITE+"Casts a fake lightning bolt where you are looking.");
}
}
}