/*
* Copyright (C) 2013-2016 Gonçalo Baltazar <me@goncalomb.com>
*
* This file is part of NBTEditor.
*
* NBTEditor is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NBTEditor is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NBTEditor. If not, see <http://www.gnu.org/licenses/>.
*/
package com.goncalomb.bukkit.nbteditor.commands;
import java.util.List;
import org.bukkit.Material;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.SkullMeta;
import com.goncalomb.bukkit.mylib.command.MyCommand;
import com.goncalomb.bukkit.mylib.command.MyCommandException;
public class CommandNBTHead extends MyCommand {
public CommandNBTHead() {
super("nbthead", "nbth");
}
@Command(args = "", type = CommandType.DEFAULT, minargs = 1, maxargs = 2, usage = "<skull-player-name> [player-name]")
public boolean headCommand(CommandSender sender, String[] args) throws MyCommandException {
Player other;
if (args.length == 2) {
other = CommandUtils.findPlayer(args[1]);
} else if (sender instanceof Player) {
other = (Player) sender;
} else {
sender.sendMessage("§cParameter 'player-name' missing!");
return false;
}
ItemStack head = new ItemStack(Material.SKULL_ITEM, 1, (short) 3);
SkullMeta meta = (SkullMeta) head.getItemMeta();
if (meta.setOwner(args[0])) {
head.setItemMeta(meta);
CommandUtils.giveItem(other, head);
sender.sendMessage("§aEnjoy your new head.");
} else {
sender.sendMessage("§cPlayer name too long!");
}
return true;
}
@TabComplete(args = "")
public List<String> tab(CommandSender sender, String[] args) {
return CommandUtils.playerTabComplete(sender, args[args.length - 1]);
}
}