oZZYoWo

Untitled

Sep 22nd, 2019
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.55 KB | None | 0 0
  1. package me.blok601.nightshadeuhc.scenario;
  2.  
  3. import me.blok601.nightshadeuhc.UHC;
  4. import me.blok601.nightshadeuhc.entity.UHCPlayerColl;
  5. import me.blok601.nightshadeuhc.event.CustomDeathEvent;
  6. import me.blok601.nightshadeuhc.event.GameStartEvent;
  7. import me.blok601.nightshadeuhc.event.MeetupStartEvent;
  8. import me.blok601.nightshadeuhc.event.PvPEnableEvent;
  9. import me.blok601.nightshadeuhc.util.ChatUtils;
  10. import me.blok601.nightshadeuhc.util.ItemBuilder;
  11. import org.bukkit.Material;
  12. import org.bukkit.entity.Player;
  13. import org.bukkit.event.EventHandler;
  14. import org.bukkit.event.player.PlayerItemConsumeEvent;
  15. import org.bukkit.inventory.ItemStack;
  16. import org.bukkit.potion.PotionEffect;
  17. import org.bukkit.potion.PotionEffectType;
  18. import org.bukkit.scheduler.BukkitRunnable;
  19.  
  20. public class FourHorsemenScenario extends Scenario {
  21.     public FourHorsemenScenario() {
  22.         super("Four Horsemen", "A secret, until April 19th", new ItemBuilder(Material.SKULL_ITEM).name(ChatUtils.format("Four Horsemen")).make());
  23.     }
  24.  
  25.  
  26.     @EventHandler
  27.     public void onStart(GameStartEvent e) {
  28.         new BukkitRunnable() {
  29.             @Override
  30.             public void run() {
  31.                 if (!isEnabled()) {
  32.                     this.cancel();
  33.                     return;
  34.                 }
  35.                 ChatUtils.sendAll("Pestilence Strikes...");
  36.  
  37.                 UHCPlayerColl.get().getAllPlaying().stream().forEach(uhcPlayer -> {
  38.                     uhcPlayer.getPlayer().damage(2);
  39.                 });
  40.  
  41.  
  42.             }
  43.         }.runTaskTimer(UHC.get(), 20 * 300, 20 * 300);
  44.     }
  45.     @EventHandler
  46.     public void onPvp(PvPEnableEvent e) {
  47.         if (!isEnabled()) return;
  48.         ChatUtils.sendAll("It has begun, for War has arrived.");
  49.     }
  50.     @EventHandler
  51.     public void onDeath(CustomDeathEvent e) {
  52.         if (!isEnabled()) return;
  53.         if (e.getKiller() != null) {
  54.             Player k = e.getKiller();
  55.             k.sendMessage(ChatUtils.message("&6War has taken its toll on you."));
  56.             k.addPotionEffect(new PotionEffect(PotionEffectType.WEAKNESS, 20 * 20, 0));
  57.             k.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 20 * 20, 0));
  58.         }
  59.     }
  60.     @EventHandler
  61.     public void onMeetup(MeetupStartEvent e) {
  62.         if (!isEnabled()) return;
  63.         ChatUtils.sendAll("May famine bring great sorrow unto you...");
  64.         UHCPlayerColl.get().getAllPlaying().stream().forEach(uhcPlayer -> {
  65.             uhcPlayer.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.HUNGER, 72000, 0));
  66.  
  67.         });
  68.  
  69.     }
  70.     @EventHandler
  71.     public void onEat (PlayerItemConsumeEvent e) {
  72.         if (!isEnabled()) return;
  73.         if (e.getItem().getType() == Material.GOLDEN_APPLE) {
  74.             double rand = (Math.random() * 10) + 1;
  75.             if (rand <= 3) {
  76.                 Player p = e.getPlayer();
  77.                 p.sendMessage(ChatUtils.message("&cMay Death instill within you.."));
  78.                 e.setCancelled(true);
  79.                 ItemStack stack = p.getItemInHand();
  80.                 p.addPotionEffect(new PotionEffect(PotionEffectType.WITHER, 20 * 5, 1));
  81.                 if (stack.getAmount() > 1) {
  82.                     stack.setAmount(stack.getAmount() - 1);
  83.                 }
  84.                 else {
  85.                     p.getInventory().clear(p.getInventory().getHeldItemSlot());
  86.                 }
  87.  
  88.             }
  89.             else {
  90.                 e.getPlayer().sendMessage(ChatUtils.message("&eYou have been spared by death, this time..."));
  91.             }
  92.         }
  93.  
  94.     }
  95.  
  96. }
Advertisement
Add Comment
Please, Sign In to add comment