Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.jackypacky.death.event;
- import java.util.ArrayList;
- import java.util.HashMap;
- import org.bukkit.ChatColor;
- import org.bukkit.GameMode;
- import org.bukkit.entity.Entity;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.entity.EntityDamageEvent;
- import org.bukkit.event.player.PlayerCommandPreprocessEvent;
- import org.bukkit.event.player.PlayerInteractEntityEvent;
- import org.bukkit.event.player.PlayerMoveEvent;
- import org.bukkit.event.player.PlayerTeleportEvent;
- import org.bukkit.potion.PotionEffect;
- import org.bukkit.potion.PotionEffectType;
- import com.jackypacky.death.main;
- import com.jackypacky.death.particles.ParticleEffect;
- public class Death implements Listener {
- public ArrayList<String> remove = new ArrayList<String>();
- HashMap<String, Float> saturation = new HashMap<String, Float>();
- HashMap<String, Integer> foodlevel = new HashMap<String, Integer>();
- @EventHandler
- public void onEntityDamage(EntityDamageEvent event) {
- if (!(event.getEntity() instanceof Player)) {
- return;
- }
- Player player = (Player) event.getEntity();
- double damage = event.getDamage();
- if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) {
- return;
- }
- if (damage < player.getHealth()) {
- return;
- }
- if (main.injured.contains(player.getUniqueId())) {
- main.injured.remove(player.getUniqueId());
- if (!(player.getKiller() instanceof Player)) {
- return;
- }
- player.getKiller().sendMessage(ChatColor.DARK_RED + "You Have Secured A Kill!");
- return;
- }
- if (player.getKiller() != null) {
- player.getKiller().sendMessage(ChatColor.DARK_RED + "You Have Injured A Player!");
- }
- player.setHealth(20);
- player.sendMessage(ChatColor.RED + "You Have Been Injured!");
- main.injured.add(player.getUniqueId());
- player.addPotionEffect(new PotionEffect(PotionEffectType.WITHER, 10000000, 0));
- event.setCancelled(true);
- saturation.put(player.getUniqueId().toString(), player.getSaturation());
- foodlevel.put(player.getUniqueId().toString(), player.getFoodLevel());
- player.setFoodLevel(1);
- }
- @EventHandler
- public void onPlayerInteractEntity(PlayerInteractEntityEvent event) {
- Player player = event.getPlayer();
- Entity entity = event.getRightClicked();
- if (entity instanceof Player) {
- if (main.injured.contains(entity.getUniqueId())) {
- Player injure = (Player) event.getRightClicked();
- injure.setFoodLevel(injure.getFoodLevel() + 1);
- if (injure.getFoodLevel() == 20) {
- for (PotionEffect pe : injure.getActivePotionEffects()) {
- injure.removePotionEffect(pe.getType());
- }
- injure.setHealth(10);
- injure.sendMessage(ChatColor.GREEN + "You Have Been Saved!");
- player.sendMessage(ChatColor.GREEN + "You Have Succesfully Saved Someone!");
- ParticleEffect.VILLAGER_HAPPY.display(1, 1, 1, 1, 100, injure.getLocation(), 100);
- main.injured.remove(injure.getUniqueId());
- injure.setFoodLevel(foodlevel.get(injure.getUniqueId().toString()));
- injure.setSaturation(saturation.get(injure.getUniqueId().toString()));
- }
- }
- }
- }
- @EventHandler
- public void onPlayerMove(PlayerMoveEvent event) {
- Player player = event.getPlayer();
- if (main.injured.contains(player.getUniqueId())) {
- event.setCancelled(true);
- }
- }
- @EventHandler
- public void onCommand(PlayerCommandPreprocessEvent event) {
- Player player = event.getPlayer();
- if (main.injured.contains(player.getUniqueId())) {
- player.sendMessage(ChatColor.RED + "You Cannot Use Commands While Injured");
- event.setCancelled(true);
- }
- }
- @EventHandler
- public void onTeleport(PlayerTeleportEvent event) {
- Player player = event.getPlayer();
- if (main.injured.contains(player.getUniqueId())) {
- player.sendMessage(ChatColor.RED + "You Cannot Teleport While Injured");
- event.setCancelled(true);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment