mrkirby153

Untitled

Dec 23rd, 2013
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.81 KB | None | 0 0
  1. package me.mrkirby153.plugins.theplague.listeners;
  2.  
  3. import me.mrkirby153.plugins.theplague.arena.Arena;
  4. import me.mrkirby153.plugins.theplague.arena.infection.Infection;
  5. import me.mrkirby153.plugins.theplague.utils.ChatHelper;
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.Material;
  8. import org.bukkit.entity.Player;
  9. import org.bukkit.event.EventHandler;
  10. import org.bukkit.event.Listener;
  11. import org.bukkit.event.entity.PlayerDeathEvent;
  12. import org.bukkit.event.player.PlayerItemConsumeEvent;
  13. import org.bukkit.inventory.ItemStack;
  14. import org.bukkit.potion.Potion;
  15. import org.bukkit.potion.PotionType;
  16.  
  17. import java.util.Random;
  18.  
  19. public class InfectionListener implements Listener {
  20.  
  21.     @EventHandler
  22.     public void onDeath(PlayerDeathEvent event) {
  23.         Player killer = event.getEntity().getKiller();
  24.         Player killed = event.getEntity();
  25.         if (!Arena.inArena(killed)) {
  26.             return;
  27.         }
  28.         if (!Arena.inArena(killer)) {
  29.             return;
  30.         }
  31.         String message = event.getDeathMessage();
  32.         event.setDeathMessage("");
  33.         if (Infection.isInfected(killer.getName())) {
  34.             boolean firstTime = Infection.isInfected(killed.getName());
  35.             Infection.addInfetionPrecent(killed.getName(), 10);
  36.             Arena.sendMessageToArena(Arena.getCurrentArena(killed), ChatColor.GOLD + "[Death] " + ChatColor.RED + message);
  37.             if (firstTime)
  38.                 ChatHelper.sendToPlayer(killed, ChatColor.RED + "You have been killed by " + killer.getName()
  39.                         + " and have become infected!");
  40.             else
  41.                 ChatHelper.sendToPlayer(killed, ChatColor.RED + "The infection is spreading!");
  42.         }
  43.     }
  44.  
  45.     @EventHandler
  46.     public void healInfection(PlayerItemConsumeEvent event) {
  47.         if (!Arena.inArena(event.getPlayer())) {
  48.             return;
  49.         }
  50.         if (event.getItem().getType().equals(Material.POTION)) {
  51.             Potion p = Potion.fromItemStack(event.getItem());
  52.             if (p.getType().equals(PotionType.REGEN)) {
  53.                 if (Infection.isInfected(event.getPlayer().getName())) {
  54.                     Infection.subtractInfectedPrecent(event.getPlayer().getName(), 10);
  55.                     ChatHelper.sendToPlayer(event.getPlayer(), ChatColor.GOLD + "That potion healed you by 10%!");
  56.                     Random random = new Random();
  57.                     if (random.nextInt(100) > 90) {
  58.                         ChatHelper.sendToPlayer(event.getPlayer(), ChatColor.GOLD + "Your potion bottle magicly refilled itself!");
  59.                         event.setItem(p.toItemStack(1));
  60.                         return;
  61.                     }
  62.                     event.getPlayer().setItemInHand(new ItemStack(Material.GLASS_BOTTLE));
  63.                 }
  64.             }
  65.         }
  66.     }
  67.  
  68. }
Advertisement
Add Comment
Please, Sign In to add comment