Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
at develop 62 lines 2.0 kB view raw
1package org.bukkit.command.defaults; 2 3import org.bukkit.Bukkit; 4import org.bukkit.ChatColor; 5import org.bukkit.Material; 6import org.bukkit.command.Command; 7import org.bukkit.command.CommandSender; 8import org.bukkit.entity.Player; 9import org.bukkit.inventory.ItemStack; 10 11public class GiveCommand extends VanillaCommand { 12 public GiveCommand() { 13 super("give"); 14 this.description = "Gives the specified player a certain amount of items"; 15 this.usageMessage = "/give <player> <item> [amount]"; 16 this.setPermission("bukkit.command.give"); 17 } 18 19 @Override 20 public boolean execute(CommandSender sender, String currentAlias, String[] args) { 21 if (!testPermission(sender)) return true; 22 if ((args.length < 2) || (args.length > 3)) { 23 sender.sendMessage(ChatColor.RED + "Usage: " + usageMessage); 24 return false; 25 } 26 27 Player player = Bukkit.getPlayerExact(args[0]); 28 29 if (player != null) { 30 Material material = Material.matchMaterial(args[1]); 31 32 if (material != null) { 33 Command.broadcastCommandMessage(sender, "Giving " + player.getName() + " some " + material.getId() + "(" + material + ")"); 34 35 int amount = 1; 36 37 if (args.length >= 3) { 38 try { 39 amount = Integer.parseInt(args[2]); 40 } catch (NumberFormatException ex) { 41 } 42 43 if (amount < 1) amount = 1; 44 if (amount > 64) amount = 64; 45 } 46 47 player.getInventory().addItem(new ItemStack(material, amount)); 48 } else { 49 sender.sendMessage("There's no item called " + args[1]); 50 } 51 } else { 52 sender.sendMessage("Can't find user " + args[0]); 53 } 54 55 return true; 56 } 57 58 @Override 59 public boolean matches(String input) { 60 return input.startsWith("give "); 61 } 62}