#1 Soup Code:java @EventHandlerpublic void onPlayerInteract(PlayerInteractEvent event) {if (event.getAction() == Action.RIGHT_CLICK_AIR|| event.getAction() == Action.RIGHT_CLICK_BLOCK){Player p = event.getPlayer();if(p.getHealth() != 20){player.setHealth((player.getHealth() + 7 > player.getMaxHealth() ? player.getMaxHealth() : player.getHealth() + 7)) event.getPlayer().getItemInHand().setType(Material.BOWL); }}} } #2 Clearing Inventories & Removing potion effect Code:java public static void InventoryClear(Player p) {p.getInventory().setArmorContents(null));p.getInventory().clear();for (PotionEffect effect : p.getActivePotionEffects())p.removePotionEffect(effect.getType());}} #3 Giving Soup Code:java public static void SoupFill(Player p) {for (int i = 0; i < 32; i++){p.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP);}}} #4 Deaths and Kills Code:java @EventHandlerpublic void playerDeathKill(PlayerDeathEvent event) {event.setDeathMessage("");event.getDrops().clear();event.setDroppedExp(0);Player killer = (Player) event.getEntity().getKiller();final Player p = (Player) event.getEntity();p.setLevel(0);ClassBoard.resetScore(p); Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {public void run() {Packet205ClientCommand packet = new Packet205ClientCommand();packet.a = 1;((CraftPlayer) p).getHandle().playerConnection.a(packet);}}, 5L);Bukkit.getScheduler().scheduleSyncDelayedTask(plugin,new Runnable() {public void run() {p.teleport(Bukkit.getWorld("<worldname>, x, y, z"); }}, 7L);}}}//Giving players money, requieres Vaultif (event.getEntity().getKiller() instanceof Player) { Player killer = event.getEntity().getKiller();ClassBoard.killstreakAdd(killer);p.sendMessage(Main.tag + "§4 You were slain by "+ killer.getDisplayName());killer.sendMessage(Main.tag + "§a You have slain §e"+ p.getDisplayName());killer.playSound(p.getLocation(), Sound.LEVEL_UP, 5F, 2F); if (p != killer) {if (killer.hasPermission("mkit.donator")) {Main.economy.depositPlayer(killer.getName(), 15);killer.sendMessage(ChatColor.GREEN+ "You have been awarded §6$15 §afor killing "+ ChatColor.RED + p.getName()+ "§a. Your balance is now §6$"+ Main.economy.getBalance(killer.getName())); } else {Main.economy.depositPlayer(killer.getName(), 10);killer.sendMessage(ChatColor.GREEN+ "You have been awarded §6$10 §afor killing "+ ChatColor.RED + p.getName()+ "§a. Your balance is now §6$"+ Main.economy.getBalance(killer.getName())); }} else {Main.economy.withdrawPlayer(killer.getName(), 30);killer.sendMessage(ChatColor.RED+ "You have lost §6$30 §cfor suicide "+ "§a. Your balance is now §6$"+ Main.economy.getBalance(killer.getName()));} } else {return;} } #5 Signs & Kits Code:java @EventHandlerpublic void onSignJoin(PlayerInteractEvent e) {final Player p = e.getPlayer(); if (e.getAction() == Action.RIGHT_CLICK_BLOCK) { if (e.getClickedBlock().getState() instanceof Sign) { Sign s = (Sign) e.getClickedBlock().getState(); s.update(); if (s.getLine(0).contains("[Kit]")) { // Archerif (s.getLine(1).contains("Archer")) {InventoryClear(p); Bukkit.getScheduler().scheduleSyncDelayedTask(plugin,new Runnable() {public void run() {archer(p);SoupFill(p);p.sendMessage(Main.tag+ " §eYou are now an Archer!"); }}, 10L);} // Knight if (s.getLine(1).contains("Knight")) {InventoryClear(p); Bukkit.getScheduler().scheduleSyncDelayedTask(plugin,new Runnable() {public void run() {knight(p);SoupFill(p);p.sendMessage(Main.tag+ " §eYou are now a Knight!"); }}, 10L); } } }} public void knight(Player p) { // Armor // BootsItemStack boots = new ItemStack(309, 1);// LeggingsItemStack leggings = new ItemStack(308, 1);// ChestplateItemStack chestplate = new ItemStack(307, 1);// HelmetItemStack helmet = new ItemStack(306, 1); // Weps // SwordItemStack sword = new ItemStack(276, 1);sword.addEnchantment(Enchantment.DAMAGE_ALL, 1); p.getInventory().setBoots(boots);p.getInventory().setLeggings(leggings);p.getInventory().setChestplate(chestplate);p.getInventory().setHelmet(helmet); p.getInventory().addItem(sword); } public void archer(Player p) { // Armor // BootsItemStack boots = new ItemStack(305, 1);// LeggingsItemStack leggings = new ItemStack(304, 1);// ChestplateItemStack chestplate = new ItemStack(303, 1);// HelmetItemStack helmet = new ItemStack(302, 1); // BowItemStack bow = new ItemStack(261, 1);bow.addEnchantment(Enchantment.ARROW_INFINITE, 1);bow.addUnsafeEnchantment(Enchantment.ARROW_DAMAGE, 4); p.getInventory().setBoots(boots);p.getInventory().setLeggings(leggings);p.getInventory().setChestplate(chestplate);p.getInventory().setHelmet(helmet); p.getInventory().addItem(bow); p.getInventory().addItem(new ItemStack(262, 1)); }
For #1 you can use: player.setHealth((player.getHealth() + 7 > player.getMaxHealth() ? player.getMaxHealth() : player.getHealth() + 7)). For #3, just use a for-loop.
You could use this: Code:java p.getInventory().setArmorContents(null);p.getInventory().clear(); instead of this: Code:java p.getInventory().setBoots(new ItemStack(0, 0));p.getInventory().setLeggings(new ItemStack(0, 0));p.getInventory().setChestplate(new ItemStack(0, 0));p.getInventory().setHelmet(new ItemStack(0, 0));p.getInventory().clear(); and the "giving soup" part you can replace with : Code:java for (int i = 0; i < 32; i++) {ItemStack stew = new ItemStack(Material.MUSHROOM_SOUP);p.getInventory().addItem(stew);} MercilessPvP, forgot to "Tahg" you EDIT by Moderator: merged posts, please use the edit button instead of double posting.
If you do use .setHealth() higher than the max health, I'm pretty sure it automatically limits it to the max health? In my KingKits soup feature, I just player.setHealth(player.getHealth() + 6) and once it reaches 20, it stops.
KingFaris11 It will throw an error if you set the health higher than max health. With @chasechocolate's statement, it's basically using a ternary operator for simple compact code. A ternary operator is basically a single liner if/else statement so ((player.getHealth() + 7 > player.getMaxHealth() ? player.getMaxHealth() : player.getHealth() + 7)) if player.getHealth() + 7 is greater than the max health ... set health to max health.. else set health to health + 7
Sorry, I know about that bit I just never knew it throws an error if it goes higher than the max health. Oh I know why, I have it in a try and catch method, and I never print the exception. It probably throws loads of errors. EDIT by Moderator: merged posts, please use the edit button instead of double posting.