public void startModification(Region r, String region, String input, Player p) { if (!p.getInventory().contains(new ItemStack(ConfigurationData.defaultSelectionTool, 1))) { ItemStack is = new ItemStack(ConfigurationData.defaultSelectionTool, 1); p.getInventory().addItem(is); if (p.getItemInHand() == new ItemStack(Material.AIR, 0)) { p.setItemInHand(is); } } if (r == null) { p.sendMessage( ChatColor.RED + "[Regios] The region " + ChatColor.BLUE + region + ChatColor.RED + " doesn't exist!"); return; } else { if (!super.canModifyMain(r, p)) { p.sendMessage(ChatColor.RED + "[Regios] You are not permitted to modify this region!"); return; } p.sendMessage( ChatColor.GREEN + "[Regios] Modifying points for region " + ChatColor.BLUE + region); } CreationCommands.modRegion.put(p, r); CreationCommands.modding.put(p, true); CreationCommands.setting.put(p, false); }
public boolean banish(Player player, Player victim) { SuperNPlayer snplayer = SuperNManager.get(player); SuperNPlayer snvictim = SuperNManager.get(victim); if (!SupernaturalsPlugin.instance.getPvP(victim)) { SuperNManager.sendMessage(snplayer, "Cannot cast in a non-PvP zone."); return false; } if (snplayer.getPower() > SNConfigHandler.priestPowerBanish) { if (snvictim.isSuper()) { SuperNManager.alterPower( snplayer, -SNConfigHandler.priestPowerBanish, "Banished " + victim.getName()); SuperNManager.sendMessage( snvictim, "You were banished by " + ChatColor.WHITE + snplayer.getName() + ChatColor.RED + "!"); victim.teleport(SNConfigHandler.priestBanishLocation); ItemStack item = player.getItemInHand(); if (item.getAmount() == 1) { player.setItemInHand(null); } else { item.setAmount(player.getItemInHand().getAmount() - 1); } return true; } SuperNManager.sendMessage(snplayer, "Can only banish supernatural players."); return false; } else { SuperNManager.sendMessage(snplayer, "Not enough power to banish."); return false; } }
public boolean heal(Player player, Player victim) { SuperNPlayer snplayer = SuperNManager.get(player); SuperNPlayer snvictim = SuperNManager.get(victim); if (snplayer.getPower() > SNConfigHandler.priestPowerHeal) { if (!snvictim.isSuper() && victim.getHealth() < victim.getMaxHealth() && !victim.isDead()) { SuperNManager.alterPower( snplayer, -SNConfigHandler.priestPowerHeal, "Healed " + victim.getName()); SuperNManager.sendMessage( snvictim, "You were healed by " + ChatColor.WHITE + snplayer.getName() + ChatColor.RED + "!"); double health = victim.getHealth() + SNConfigHandler.priestHealAmount; if (health > victim.getMaxHealth()) { health = victim.getMaxHealth(); } victim.setHealth(health); ItemStack item = player.getItemInHand(); if (item.getAmount() == 1) { player.setItemInHand(null); } else { item.setAmount(player.getItemInHand().getAmount() - 1); } return true; } else { SuperNManager.sendMessage(snplayer, "Player cannot be healed."); return false; } } else { SuperNManager.sendMessage(snplayer, "Not enough power to heal."); return false; } }
public boolean exorcise(Player player, Player victim) { SuperNPlayer snplayer = SuperNManager.get(player); SuperNPlayer snvictim = SuperNManager.get(victim); if (!SupernaturalsPlugin.instance.getPvP(victim)) { SuperNManager.sendMessage(snplayer, "Cannot cast in a non-PvP zone."); return false; } if (snplayer.getPower() > SNConfigHandler.priestPowerExorcise) { if (snvictim.isSuper()) { SuperNManager.alterPower( snplayer, -SNConfigHandler.priestPowerExorcise, "Exorcised " + victim.getName()); SuperNManager.sendMessage( snvictim, "You were exorcised by " + ChatColor.WHITE + snplayer.getName() + ChatColor.RED + "!"); SuperNManager.cure(snvictim); ItemStack item = player.getItemInHand(); if (item.getAmount() == 1) { player.setItemInHand(null); } else { item.setAmount(player.getItemInHand().getAmount() - 1); } return true; } else { SuperNManager.sendMessage(snplayer, "Only supernatural players can be exorcised."); return false; } } else { SuperNManager.sendMessage(snplayer, "Not enough power to exorcise."); return false; } }
@SuppressWarnings("deprecation") @EventHandler public void onProjectileFire(ProjectileLaunchEvent e) { ProjectileSource shooter = e.getEntity().getShooter(); if (shooter instanceof Player) { Player player = (Player) shooter; ItemStack item = player.getItemInHand(); RPGItem rItem = ItemManager.toRPGItem(item); if (rItem == null) return; if (!WorldGuard.canPvP(player.getLocation()) && !rItem.ignoreWorldGuard) return; if (rItem.getHasPermission() == true && player.hasPermission(rItem.getPermission()) == false) { e.setCancelled(true); player.sendMessage( ChatColor.RED + String.format( Locale.get("message.error.permission", Locale.getPlayerLocale(player)))); } RPGMetadata meta = RPGItem.getMetadata(item); if (rItem.getMaxDurability() != -1) { int durability = meta.containsKey(RPGMetadata.DURABILITY) ? ((Number) meta.get(RPGMetadata.DURABILITY)).intValue() : rItem.getMaxDurability(); durability--; if (durability <= 0) { player.setItemInHand(null); } meta.put(RPGMetadata.DURABILITY, Integer.valueOf(durability)); } RPGItem.updateItem(item, Locale.getPlayerLocale(player), meta); player.updateInventory(); rpgProjectiles.put(e.getEntity().getEntityId(), rItem.getID()); } }
public boolean drainPower(Player player, Player victim) { SuperNPlayer snplayer = SuperNManager.get(player); SuperNPlayer snvictim = SuperNManager.get(victim); if (!SupernaturalsPlugin.instance.getPvP(victim)) { SuperNManager.sendMessage(snplayer, "Cannot cast in a non-PvP zone."); return false; } if (snplayer.getPower() > SNConfigHandler.priestPowerDrain) { if (snvictim.isSuper()) { double power = snvictim.getPower(); power *= SNConfigHandler.priestDrainFactor; SuperNManager.alterPower( snplayer, -SNConfigHandler.priestPowerDrain, "Drained " + snvictim.getName() + "'s power!"); SuperNManager.alterPower(snvictim, -power, "Drained by " + snplayer.getName()); ItemStack item = player.getItemInHand(); if (item.getAmount() == 1) { player.setItemInHand(null); } else { item.setAmount(player.getItemInHand().getAmount() - 1); } return true; } else { SuperNManager.sendMessage(snplayer, "Only supernatural players can be power drained."); return false; } } else { SuperNManager.sendMessage(snplayer, "Not enough power to drain power."); return false; } }
/** * Set the armor from the given slot as the given item. * * @param slot Slot of the armor (must be between 0 and 4) * @param item Item to set the armor as */ @SuppressWarnings("deprecation") public void set(int slot, ItemStack item) { if (npc.getBukkitEntity() instanceof Enderman) { if (slot != 0) throw new UnsupportedOperationException("Slot can only be 0 for enderman"); ((Enderman) npc.getBukkitEntity()).setCarriedMaterial(item.getData()); } else if (npc.getBukkitEntity() instanceof Player) { Player player = (Player) npc.getBukkitEntity(); switch (slot) { case 0: player.setItemInHand(item); break; case 1: player.getInventory().setHelmet(item); break; case 2: player.getInventory().setChestplate(item); break; case 3: player.getInventory().setLeggings(item); break; case 4: player.getInventory().setBoots(item); break; default: throw new IllegalArgumentException("Slot must be between 0 and 4"); } player.updateInventory(); } equipment[slot] = item; }
public boolean cure(Player player, Player victim, Material material) { SuperNPlayer snplayer = SuperNManager.get(player); SuperNPlayer snvictim = SuperNManager.get(victim); if (snplayer.getPower() > SNConfigHandler.priestPowerCure) { if (snvictim.isSuper()) { if (victim.getItemInHand().getType().equals(material)) { SuperNManager.alterPower( snplayer, -SNConfigHandler.priestPowerCure, "Cured " + victim.getName()); SuperNManager.sendMessage( snvictim, ChatColor.WHITE + snplayer.getName() + ChatColor.RED + " has restored your humanity"); SuperNManager.cure(snvictim); ItemStack item = player.getItemInHand(); ItemStack item2 = victim.getItemInHand(); if (item.getAmount() == 1) { player.setItemInHand(null); } else { item.setAmount(player.getItemInHand().getAmount() - 1); } if (item2.getAmount() == 1) { victim.setItemInHand(null); } else { item2.setAmount(victim.getItemInHand().getAmount() - 1); } return true; } else { SuperNManager.sendMessage( snplayer, ChatColor.WHITE + snvictim.getName() + ChatColor.RED + " is not holding " + ChatColor.WHITE + material.toString() + ChatColor.RED + "."); return false; } } else { SuperNManager.sendMessage(snplayer, "You can only cure supernatural players."); return false; } } else { SuperNManager.sendMessage(snplayer, "Not enough power to cure."); return false; } }
/** * Give player hunter equipment. * * @param event */ @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) public void onPlayerInteractEntity(PlayerInteractEntityEvent event) { Player player = event.getPlayer(); if (event.getRightClicked().equals(this.plugin.getNpcIds()[3]) && player.hasPermission(PERM)) { player.setItemInHand(Predator.COMPASS); } }
@SuppressWarnings("deprecation") public static void setItemInHand(Player player, ItemStack item) { if (Version.getVersion().getVersionInteger() >= Version.v1_9_R1.getVersionInteger()) { player.getInventory().setItemInMainHand(item); } else { player.setItemInHand(item); } }
/** Called when a block is broken. */ @Override public void onBlockBreak(BlockBreakEvent event) { if (event.isCancelled()) { return; } Player player = event.getPlayer(); WorldConfiguration wcfg = getWorldConfig(player); if (!wcfg.itemDurability) { ItemStack held = player.getItemInHand(); if (held.getTypeId() > 0) { held.setDurability((short) -1); player.setItemInHand(held); } } if (!plugin.getGlobalRegionManager().canBuild(player, event.getBlock())) { player.sendMessage(ChatColor.DARK_RED + "You don't have permission for this area."); event.setCancelled(true); return; } if (wcfg.getBlacklist() != null) { if (!wcfg.getBlacklist() .check( new BlockBreakBlacklistEvent( plugin.wrapPlayer(player), toVector(event.getBlock()), event.getBlock().getTypeId()), false, false)) { event.setCancelled(true); return; } if (!wcfg.getBlacklist() .check( new DestroyWithBlacklistEvent( plugin.wrapPlayer(player), toVector(event.getBlock()), player.getItemInHand().getTypeId()), false, false)) { event.setCancelled(true); return; } } if (wcfg.isChestProtected(event.getBlock(), player)) { player.sendMessage(ChatColor.DARK_RED + "The chest is protected."); event.setCancelled(true); return; } }
/* * Called when a block is broken. */ @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) public void onBlockBreak(BlockBreakEvent event) { Player player = event.getPlayer(); WorldConfiguration wcfg = getWorldConfig(player); if (!wcfg.itemDurability) { ItemStack held = player.getItemInHand(); if (held.getTypeId() > 0 && !(ItemType.usesDamageValue(held.getTypeId()) || BlockType.usesData(held.getTypeId()))) { held.setDurability((short) 0); player.setItemInHand(held); } } if (!plugin.getGlobalRegionManager().canBuild(player, event.getBlock()) || !plugin.getGlobalRegionManager().canConstruct(player, event.getBlock())) { player.sendMessage(ChatColor.DARK_RED + "You don't have permission for this area."); event.setCancelled(true); return; } if (wcfg.getBlacklist() != null) { if (!wcfg.getBlacklist() .check( new BlockBreakBlacklistEvent( plugin.wrapPlayer(player), toVector(event.getBlock()), event.getBlock().getTypeId()), false, false)) { event.setCancelled(true); return; } if (!wcfg.getBlacklist() .check( new DestroyWithBlacklistEvent( plugin.wrapPlayer(player), toVector(event.getBlock()), player.getItemInHand().getTypeId()), false, false)) { event.setCancelled(true); return; } } if (wcfg.isChestProtected(event.getBlock(), player)) { player.sendMessage(ChatColor.DARK_RED + "The chest is protected."); event.setCancelled(true); return; } }
public static void disarmProcCheck(Player attacker, Player defender) { int skillLevel = Users.getProfile(attacker).getSkillLevel(SkillType.UNARMED); if (defender.getItemInHand() != null && defender.getItemInHand().getType() != Material.AIR) { if (skillLevel >= 1000) { if (Math.random() * 3000 <= 1000) { ItemStack item = defender.getItemInHand(); defender.sendMessage(mcLocale.getString("Skills.Disarmed")); m.mcDropItem(defender.getLocation(), item); defender.setItemInHand(null); } } else { if (Math.random() * 3000 <= skillLevel) { ItemStack item = defender.getItemInHand(); defender.sendMessage(mcLocale.getString("Skills.Disarmed")); m.mcDropItem(defender.getLocation(), item); defender.setItemInHand(null); } } } }
@Override public void execute(CommandSender sender, String[] args) { Player player = (Player) sender; ItemStack item = player.getItemInHand(); Chest chest = ChestMailManager.getMailBoxByName(args[0]); if (chest != null) { int empty = chest.getInventory().firstEmpty(); chest.getInventory().setItem(empty, item); ChestMailManager.withdrawForSendingMail(player); player.setItemInHand(new ItemStack(Material.AIR)); } }
public static void giveTool(Player player, int type) { final Inventory inv = player.getInventory(); if (inv.contains(type)) player.sendMessage(ChatColor.RED + "You have already a " + materialName(type)); else { final int free = inv.firstEmpty(); if (free >= 0) { if (player.getItemInHand() != null && player.getItemInHand().getTypeId() != 0) inv.setItem(free, player.getItemInHand()); player.setItemInHand(new ItemStack(type, 1)); player.sendMessage(ChatColor.GREEN + "Here's your " + materialName(type)); } else player.sendMessage(ChatColor.RED + "You have no empty slot in your inventory"); } }
public boolean removeItemInHand(Player p, int item_id, int item_data, int item_amount) { if ((p.getItemInHand() != null) && (p.getItemInHand().getTypeId() == item_id) && (p.getItemInHand().getAmount() >= item_amount) && ((item_data < 0) || (item_data == p.getItemInHand().getDurability()))) { if (p.getItemInHand().getAmount() > item_amount) p.getItemInHand().setAmount(p.getItemInHand().getAmount() - item_amount); else p.setItemInHand(new ItemStack(Material.AIR)); return true; } return false; }
@EventHandler public void onPlayerAction(PlayerInteractEvent e) { Player player = e.getPlayer(); if ((e.getAction() == Action.RIGHT_CLICK_AIR || (e.getAction() == Action.RIGHT_CLICK_BLOCK) && !e.isCancelled())) { ItemStack item = player.getItemInHand(); if (item.getType() == Material.BOW || item.getType() == Material.SNOW_BALL || item.getType() == Material.EGG || item.getType() == Material.POTION) return; RPGItem rItem = ItemManager.toRPGItem(item); if (rItem == null) return; if (!WorldGuard.canPvP(player.getLocation()) && !rItem.ignoreWorldGuard) return; if (rItem.getHasPermission() == true && player.hasPermission(rItem.getPermission()) == false) { e.setCancelled(true); player.sendMessage( ChatColor.RED + String.format( Locale.get("message.error.permission", Locale.getPlayerLocale(player)))); } rItem.rightClick(player); if (player.getItemInHand().getTypeId() != 0) { RPGItem.updateItem(item, Locale.getPlayerLocale(player)); } else player.setItemInHand(null); player.updateInventory(); } else if (e.getAction() == Action.LEFT_CLICK_AIR || e.getAction() == Action.LEFT_CLICK_BLOCK) { ItemStack item = player.getItemInHand(); if (item.getType() == Material.BOW || item.getType() == Material.SNOW_BALL || item.getType() == Material.EGG || item.getType() == Material.POTION) return; RPGItem rItem = ItemManager.toRPGItem(item); if (rItem == null) return; if (!WorldGuard.canPvP(player.getLocation()) && !rItem.ignoreWorldGuard) return; if (rItem.getHasPermission() == true && player.hasPermission(rItem.getPermission()) == false) { e.setCancelled(true); player.sendMessage( ChatColor.RED + String.format( Locale.get("message.error.permission", Locale.getPlayerLocale(player)))); } rItem.leftClick(player); RPGItem.updateItem(item, Locale.getPlayerLocale(player)); } }
@Override @SuppressWarnings("deprecation") public void onSpawn() { if (npc.getBukkitEntity() instanceof Enderman) { Enderman enderman = (Enderman) npc.getBukkitEntity(); if (equipment[0] != null) enderman.setCarriedMaterial(equipment[0].getData()); } else if (npc.getBukkitEntity() instanceof Player) { Player player = (Player) npc.getBukkitEntity(); if (equipment[0] != null) player.setItemInHand(equipment[0]); ItemStack[] armor = {equipment[4], equipment[3], equipment[2], equipment[1]}; // bukkit ordering is boots, leggings, chestplate, helmet player.getInventory().setArmorContents(armor); player.updateInventory(); } }
@EventHandler public final void PIE(final PlayerInteractEvent event) { if (event.getAction() != Action.RIGHT_CLICK_AIR && event.getAction() != Action.RIGHT_CLICK_BLOCK) return; final Player player = event.getPlayer(); if (!player.isSneaking()) return; final ItemStack item = event.getItem(); if (item == null || item.getType() != Material.getMaterial( getConfig().getString("id").trim().toUpperCase().replace(' ', '_'))) return; final String name = getConfig().getString("name"); if (!name.isEmpty() && (!item.hasItemMeta() || !item.getItemMeta().hasDisplayName() || !item.getItemMeta() .getDisplayName() .equals(ChatColor.translateAlternateColorCodes('&', name)))) return; final Item entity = player .getWorld() .dropItem( player.getEyeLocation().clone().subtract(0, 0.3, 0), new ItemStack(item.getType())); entity.setVelocity( player.getLocation().getDirection().normalize().multiply(getConfig().getDouble("speed"))); entity.setMetadata("isminebomb", new FixedMetadataValue(this, player.getName())); if (getConfig().getBoolean("use")) { if (item.getAmount() == 1) player.setItemInHand(new ItemStack(Material.AIR)); else { item.setAmount(item.getAmount() - 1); player.setItemInHand(item); } } new ExplodeTimer(entity, getConfig().getInt("power")) .runTaskLater(this, getConfig().getInt("delay") * 20L); }
@SuppressWarnings("deprecation") @EventHandler(priority = EventPriority.HIGHEST) public void onBlockPlace(BlockPlaceEvent event) { Player player = event.getPlayer(); if (event.getItemInHand().getType() == Config.ToolBlock && SessionManager.getSession(player).isUsingTool()) { ToolManager.toolSearch(player, event.getBlock()); if (player.getGameMode() == GameMode.SURVIVAL) player.setItemInHand(event.getItemInHand()); // Insure update packet is sent event.setCancelled(true); } }
@Override public void run(Player p, Block bl, MachineRecipe recipe) { ItemStack item1 = recipe.getIngredients().get(0); if (!p.getItemInHand().equals(item1)) { return; } for (ItemStack ing : recipe.getIngredients()) { if (!p.getInventory().contains(ing)) { return; } } for (ItemStack ing : recipe.getIngredients()) { p.getInventory().remove(ing); } p.setItemInHand(recipe.getResult()); }
public static void CreateMap(Player player) { ItemStack is = new ItemStack(Material.MAP); int mapNumber; try { mapNumber = IOManager.getPlayerMap(player.getName()); } catch (NullPointerException e) { mapNumber = Main.server.createMap(player.getWorld()).getId(); IOManager.setPlayerMap(player.getName(), mapNumber); } is.setDurability((short) mapNumber); player.setItemInHand(is); TownMapRenderer.drawToMap(Main.server.getMap((short) mapNumber)); }
/** * Apply the Green Thumb ability to blocks. * * @param is The item in the player's hand * @param player The player activating the ability * @param block The block being used in the ability */ public static void greenThumbBlocks(ItemStack is, Player player, Block block) { final int MAX_BONUS_LEVEL = 1500; PlayerProfile PP = Users.getProfile(player); int skillLevel = PP.getSkillLevel(SkillType.HERBALISM); int seeds = is.getAmount(); player.setItemInHand(new ItemStack(Material.SEEDS, seeds - 1)); /* No MOARE green terra :D if (skillLevel > MAX_BONUS_LEVEL || random.nextInt(1500) <= skillLevel) { greenTerra(player, block); } else { player.sendMessage(mcLocale.getString("mcPlayerListener.GreenThumbFail")); } */ }
/** * Check for disarm. * * @param PPa Profile of the attacking player * @param defender The defending player */ public static void disarmProcCheck(Player attacker, Player defender) { final int MAX_BONUS_LEVEL = 1000; PlayerProfile PPa = Users.getProfile(attacker); int skillLevel = PPa.getSkillLevel(SkillType.UNARMED); int skillCheck = Misc.skillCheck(skillLevel, MAX_BONUS_LEVEL); ItemStack inHand = defender.getItemInHand(); if (!inHand.getType().equals(Material.AIR)) { if (random.nextInt(3000) <= skillCheck && !ironGrip(defender, attacker)) { defender.sendMessage(LocaleLoader.getString("Skills.Disarmed")); Misc.mcDropItem(defender.getLocation(), inHand); defender.setItemInHand(new ItemStack(Material.AIR)); } } }
@SuppressWarnings("deprecation") @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) public void onItemDamage(PlayerItemDamageEvent event) { // disabling event on world if (Residence.isDisabledWorldListener(event.getPlayer().getWorld())) return; Player player = event.getPlayer(); Location loc = player.getLocation(); FlagPermissions perms = Residence.getPermsByLoc(loc); if (perms.has(Flags.nodurability, false)) { ItemStack held = Residence.getNms().itemInMainHand(player); if (held.getType() != Material.AIR) { held.setDurability(held.getDurability()); player.setItemInHand(held); event.setDamage(0); event.setCancelled(true); } } }
@SuppressWarnings("deprecation") private double playerDamager(EntityDamageByEntityEvent e, double damage) { Player player = (Player) e.getDamager(); ItemStack item = player.getItemInHand(); if (item.getType() == Material.BOW || item.getType() == Material.SNOW_BALL || item.getType() == Material.EGG || item.getType() == Material.POTION) return damage; RPGItem rItem = ItemManager.toRPGItem(item); if (rItem == null) return damage; if (!WorldGuard.canPvP(player.getLocation()) && !rItem.ignoreWorldGuard) return damage; if (rItem.getHasPermission() == true && player.hasPermission(rItem.getPermission()) == false) { damage = 0; e.setCancelled(true); player.sendMessage( ChatColor.RED + String.format( Locale.get("message.error.permission", Locale.getPlayerLocale(player)))); } damage = rItem.getDamageMin() != rItem.getDamageMax() ? (rItem.getDamageMin() + random.nextInt(rItem.getDamageMax() - rItem.getDamageMin())) : rItem.getDamageMin(); if (e.getEntity() instanceof LivingEntity) { LivingEntity le = (LivingEntity) e.getEntity(); rItem.hit(player, le, e.getDamage()); } RPGMetadata meta = RPGItem.getMetadata(item); if (rItem.getMaxDurability() != -1) { int durability = meta.containsKey(RPGMetadata.DURABILITY) ? ((Number) meta.get(RPGMetadata.DURABILITY)).intValue() : rItem.getMaxDurability(); durability--; if (durability <= 0) { player.setItemInHand(null); } meta.put(RPGMetadata.DURABILITY, Integer.valueOf(durability)); } RPGItem.updateItem(item, Locale.getPlayerLocale(player), meta); player.updateInventory(); return damage; }
@SuppressWarnings("deprecation") @Override protected Boolean OnCommand(CommandSender sender, String[] args) { this.sender = sender; if (isInvalid(sender, args)) return true; Player player = (Player) sender; ItemStack itemStack = new ItemStack(Material.getMaterial(plugin.getConfig().getInt("InfoWandID")), 1); ItemMeta itemMeta = itemStack.getItemMeta(); itemMeta.setDisplayName("YAPS Info Wand"); itemStack.setItemMeta(itemMeta); player.setItemInHand(itemStack); SendMessage("&6Use Right and left click to get information of an area."); return true; }
@EventHandler public void onKill(PlayerDeathEvent evt) { Player dead = evt.getEntity(); Player killer = dead.getKiller(); if (killer == null) return; Kit k = Main.playerkits.get(killer.getName()); if (!(k instanceof Kit_Barbarian)) return; ItemStack item = killer.getItemInHand(); if (item == null) return; ItemMeta meta = item.getItemMeta(); if (meta == null) return; String name = meta.getDisplayName(); if (name == null) return; if (!(name.substring(0, swordname.indexOf(':') + 2)) .equals(swordname.substring(0, swordname.indexOf(':') + 2)) && meta.getLore().equals(swordlore)) return; addkill(item); killer.setItemInHand(item); }
@Override public void onClick(Player Player) { if (Player.getItemInHand() != null && Player.getItemInHand().getType() != Material.AIR) { if (TotalWar.economy.has(Player.getName(), this.CostOfBind)) { TotalWar.economy.withdrawPlayer(Player.getName(), this.CostOfBind); TotalWar.economy.depositPlayer("TheGamersCave", this.CostOfBind); List<String> LoreAdd = new ArrayList<String>(); LoreAdd.add(ChatColor.GOLD + "Spell: " + this.Spell.getName()); for (String S : this.Spell.getDescription()) { LoreAdd.add(S); } Player.setItemInHand(ItemHandler.addLore(Player.getItemInHand(), LoreAdd)); Player.updateInventory(); this.getMenu().closeMenu(Player); Player.sendMessage(ChatColor.GREEN + "Enjoy your spell-bound item"); } else { Player.sendMessage( ChatColor.RED + "You don't have enough money to bind this spell to your item!"); } } }
public boolean guardianAngel(Player player, Player victim) { SuperNPlayer priest = SuperNManager.get(player); SuperNPlayer snvictim = SuperNManager.get(victim); if (priest.getPower() > SNConfigHandler.priestPowerGuardianAngel) { if (!snvictim.isSuper()) { if (SupernaturalsPlugin.instance.getDataHandler().hasAngel(priest)) { SuperNManager.sendMessage( priest, "Removed Guardian Angel from " + ChatColor.WHITE + SupernaturalsPlugin.instance.getDataHandler().getAngelPlayer(priest).getName()); SuperNManager.sendMessage( SupernaturalsPlugin.instance.getDataHandler().getAngelPlayer(priest), "Guardian Angel removed!"); SupernaturalsPlugin.instance.getDataHandler().removeAngel(priest); } SuperNManager.sendMessage(snvictim, "You now have a Guardian Angel!"); SuperNManager.alterPower( priest, -SNConfigHandler.priestPowerGuardianAngel, "Guardian Angel on " + ChatColor.WHITE + snvictim.getName() + ChatColor.RED + "!"); SupernaturalsPlugin.instance.getDataHandler().addAngel(priest, snvictim); ItemStack item = player.getItemInHand(); if (item.getAmount() == 1) { player.setItemInHand(null); } else { item.setAmount(player.getItemInHand().getAmount() - 1); } return true; } SuperNManager.sendMessage( priest, "You cannot set a Guardian Angel on a Supernatural player."); return false; } else { SuperNManager.sendMessage(priest, "Not enough power to cast Guardian Angel."); return false; } }