package tv.mineinthebox.essentials.commands;
import java.util.HashSet;
import org.bukkit.ChatColor;
import org.bukkit.block.Block;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import tv.mineinthebox.essentials.xEssentials;
import tv.mineinthebox.essentials.enums.PermissionKey;
import tv.mineinthebox.essentials.instances.SpawnerBlock;
import tv.mineinthebox.essentials.interfaces.CommandTemplate;
public class CmdSpawnerBlock extends CommandTemplate {
private final xEssentials pl;
public CmdSpawnerBlock(xEssentials pl, Command cmd, CommandSender sender) {
super(pl, cmd, sender);
this.pl = pl;
}
@SuppressWarnings("deprecation")
public boolean execute(CommandSender sender, Command cmd, String[] args) {
if(cmd.getName().equalsIgnoreCase("spawnerblock")) {
if(sender instanceof Player) {
if(sender.hasPermission(PermissionKey.CMD_SPAWNER_BLOCK.getPermission())) {
if(args.length == 0) {
Player p = (Player) sender;
Block block = p.getTargetBlock((HashSet<Byte>)null, 30);
SpawnerBlock spawner = new SpawnerBlock(block, EntityType.ZOMBIE, pl);
spawner.start();
sendMessage(block.getType().name().toLowerCase() + " is now a tempory zombie spawner.");
} else if(args.length == 1) {
if(args[0].equalsIgnoreCase("help")) {
showHelp();
} else {
for(EntityType type : EntityType.values()) {
if(type.name().equalsIgnoreCase(args[0])) {
Player p = (Player) sender;
Block block = p.getTargetBlock((HashSet<Byte>)null, 30);
SpawnerBlock spawner = new SpawnerBlock(block, type, pl);
spawner.start();
sendMessage(block.getType().name().toLowerCase() + " is now a tempory " + type.name().toLowerCase() + " spawner.");
return true;
}
}
sendMessage("could not find any entity named as " + args[0]);
}
}
} else {
getWarning(WarningType.NO_PERMISSION);
}
} else {
getWarning(WarningType.PLAYER_ONLY);
}
}
return false;
}
@Override
public void showHelp() {
sender.sendMessage(ChatColor.GOLD + ".oO___[spawner block]___Oo.");
sender.sendMessage(ChatColor.RED + "Admin: " + ChatColor.GRAY + "/spawnerblock " + ChatColor.WHITE + ": makes a block a tempory zombie spawner");
sender.sendMessage(ChatColor.RED + "Admin: " + ChatColor.GRAY + "/spawnerblock <entity> " + ChatColor.WHITE + ": makes a tempory spawner block on a entity");
sender.sendMessage(ChatColor.GRAY + "--entities--");
String s = ChatColor.GRAY + "";
for(int size = 0; size < EntityType.values().length; size++) {
if(size == EntityType.values().length) {
s += EntityType.values()[size].name().toLowerCase();
} else {
s += EntityType.values()[size].name().toLowerCase() + ", ";
}
}
sender.sendMessage(s);
}
}