Guest User

Revive

a guest
Jan 31st, 2016
786
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.92 KB | None | 0 0
  1. package com.jackypacky.death.event;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5.  
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.GameMode;
  8. import org.bukkit.entity.Entity;
  9. import org.bukkit.entity.Player;
  10. import org.bukkit.event.EventHandler;
  11. import org.bukkit.event.Listener;
  12. import org.bukkit.event.entity.EntityDamageEvent;
  13. import org.bukkit.event.player.PlayerCommandPreprocessEvent;
  14. import org.bukkit.event.player.PlayerInteractEntityEvent;
  15. import org.bukkit.event.player.PlayerMoveEvent;
  16. import org.bukkit.event.player.PlayerTeleportEvent;
  17. import org.bukkit.potion.PotionEffect;
  18. import org.bukkit.potion.PotionEffectType;
  19.  
  20. import com.jackypacky.death.main;
  21. import com.jackypacky.death.particles.ParticleEffect;
  22.  
  23. public class Death implements Listener {
  24.  
  25.     public ArrayList<String> remove = new ArrayList<String>();
  26.     HashMap<String, Float> saturation = new HashMap<String, Float>();
  27.     HashMap<String, Integer> foodlevel = new HashMap<String, Integer>();
  28.  
  29.     @EventHandler
  30.     public void onEntityDamage(EntityDamageEvent event) {
  31.         if (!(event.getEntity() instanceof Player)) {
  32.             return;
  33.         }
  34.         Player player = (Player) event.getEntity();
  35.         double damage = event.getDamage();
  36.         if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) {
  37.             return;
  38.         }
  39.         if (damage < player.getHealth()) {
  40.             return;
  41.         }
  42.         if (main.injured.contains(player.getUniqueId())) {
  43.             main.injured.remove(player.getUniqueId());
  44.             if (!(player.getKiller() instanceof Player)) {
  45.                 return;
  46.             }
  47.             player.getKiller().sendMessage(ChatColor.DARK_RED + "You Have Secured A Kill!");
  48.             return;
  49.         }
  50.         if (player.getKiller() != null) {
  51.             player.getKiller().sendMessage(ChatColor.DARK_RED + "You Have Injured A Player!");
  52.         }
  53.         player.setHealth(20);
  54.         player.sendMessage(ChatColor.RED + "You Have Been Injured!");
  55.         main.injured.add(player.getUniqueId());
  56.         player.addPotionEffect(new PotionEffect(PotionEffectType.WITHER, 10000000, 0));
  57.         event.setCancelled(true);
  58.         saturation.put(player.getUniqueId().toString(), player.getSaturation());
  59.         foodlevel.put(player.getUniqueId().toString(), player.getFoodLevel());
  60.         player.setFoodLevel(1);
  61.     }
  62.  
  63.     @EventHandler
  64.     public void onPlayerInteractEntity(PlayerInteractEntityEvent event) {
  65.         Player player = event.getPlayer();
  66.         Entity entity = event.getRightClicked();
  67.         if (entity instanceof Player) {
  68.             if (main.injured.contains(entity.getUniqueId())) {
  69.                 Player injure = (Player) event.getRightClicked();
  70.                 injure.setFoodLevel(injure.getFoodLevel() + 1);
  71.                 if (injure.getFoodLevel() == 20) {
  72.                     for (PotionEffect pe : injure.getActivePotionEffects()) {
  73.                         injure.removePotionEffect(pe.getType());
  74.                     }
  75.                     injure.setHealth(10);
  76.                     injure.sendMessage(ChatColor.GREEN + "You Have Been Saved!");
  77.                     player.sendMessage(ChatColor.GREEN + "You Have Succesfully Saved Someone!");
  78.                     ParticleEffect.VILLAGER_HAPPY.display(1, 1, 1, 1, 100, injure.getLocation(), 100);
  79.                     main.injured.remove(injure.getUniqueId());
  80.                     injure.setFoodLevel(foodlevel.get(injure.getUniqueId().toString()));
  81.                     injure.setSaturation(saturation.get(injure.getUniqueId().toString()));
  82.                 }
  83.             }
  84.         }
  85.     }
  86.  
  87.     @EventHandler
  88.     public void onPlayerMove(PlayerMoveEvent event) {
  89.         Player player = event.getPlayer();
  90.         if (main.injured.contains(player.getUniqueId())) {
  91.             event.setCancelled(true);
  92.         }
  93.     }
  94.  
  95.     @EventHandler
  96.     public void onCommand(PlayerCommandPreprocessEvent event) {
  97.         Player player = event.getPlayer();
  98.         if (main.injured.contains(player.getUniqueId())) {
  99.             player.sendMessage(ChatColor.RED + "You Cannot Use Commands While Injured");
  100.             event.setCancelled(true);
  101.         }
  102.     }
  103.  
  104.     @EventHandler
  105.     public void onTeleport(PlayerTeleportEvent event) {
  106.         Player player = event.getPlayer();
  107.         if (main.injured.contains(player.getUniqueId())) {
  108.             player.sendMessage(ChatColor.RED + "You Cannot Teleport While Injured");
  109.             event.setCancelled(true);
  110.         }
  111.     }
  112. }
Advertisement
Add Comment
Please, Sign In to add comment