/** * bAnimalCare 1.2-SNAPSHOT * Copyright (C) 2013 CodingBadgers <plugins@mcbadgercraft.com> * * This program 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. * * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. */ package uk.codingbadgers.banimalcare; import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import uk.codingbadgers.bFundamentals.commands.ModuleCommand; import uk.codingbadgers.bFundamentals.module.Module; public class AnimalCommand extends ModuleCommand { final private bAnimalCare m_module; public AnimalCommand(Module module) { super("pet", "/pet list | /pet release <id>"); m_module = (bAnimalCare) module; } /** * Called when the 'pet' command is executed. */ public boolean onCommand(CommandSender sender, String label, String[] args) { if (!(sender instanceof Player)) return true; Player player = (Player)sender; if (args.length == 0) { // show command help Module.sendMessage(m_module.getName(), player, "/pet list"); Module.sendMessage(m_module.getName(), player, "/pet release <id>"); return true; } if (args[0].equalsIgnoreCase("list")) { if (args.length == 1) { m_module.listPets(player, player); } else if (args.length == 2) { if (!Module.hasPermission(player, "bAnimalCare.list.other")) { Module.sendMessage(m_module.getName(), player, "You don't have permission to list other players pets..."); return true; } String playerName = args[1]; OfflinePlayer owner = Bukkit.getOfflinePlayer(playerName); m_module.listPets(player, owner); } else { Module.sendMessage(m_module.getName(), player, "Invalid command usage: /pet list [player]"); } return true; } if (args[0].equalsIgnoreCase("release")) { if (args.length == 2) { m_module.releasePet(player, args[1]); } if (args.length == 3) { OfflinePlayer owner = Bukkit.getOfflinePlayer(args[1]); if (!owner.hasPlayedBefore()) { Module.sendMessage(m_module.getName(), player, "Invalid command usage: /pet release <owner> <id>"); return true; } m_module.releasePet(owner, args[2]); } else { Module.sendMessage(m_module.getName(), player, "Invalid command usage: /pet release <id>"); } return true; } if (args[0].equalsIgnoreCase("tp")) { if (!Module.hasPermission(player, "bAnimalCare.tp.self")) { Module.sendMessage(m_module.getName(), player, "You don't have permission to teleport to pets..."); return true; } if (args.length == 2) { m_module.tpToPet(player, args[1], player); } else if (args.length == 3) { if (!Module.hasPermission(player, "bAnimalCare.tp.other")) { Module.sendMessage(m_module.getName(), player, "You don't have permission to teleport to pets..."); return true; } String playerName = args[2]; OfflinePlayer owner = Bukkit.getOfflinePlayer(playerName); m_module.tpToPet(player, args[1], owner); } else { Module.sendMessage(m_module.getName(), player, "Invalid command usage: /pet tp <id> [player]"); } return true; } Module.sendMessage(m_module.getName(), player, "Unknown command"); return true; } }