Advertisement
Guest User

CodingDynasty Minigame snippet

a guest
Feb 29th, 2020
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.49 KB | None | 0 0
  1. public class GameEvents implements Listener {
  2.  
  3.     public static ItemStack air = new ItemStack(Material.AIR);
  4.     public static ArrayList<Player> respawnTimer = new ArrayList<Player>();
  5.     public static CrownTimer crownTimer;
  6.  
  7.     public static void setupCrownTimer(Plugin pl) {
  8.  
  9.         crownTimer = new CrownTimer(pl);
  10.  
  11.     }
  12.  
  13.     @EventHandler
  14.     public void crownPlace(BlockPlaceEvent e) {
  15.  
  16.         if (!GameState.isState(GameState.IN_GAME)) {
  17.             e.setCancelled(true);
  18.             return;
  19.         }
  20.  
  21.         if (e.getBlockPlaced().getType().equals(Material.SKULL)) {
  22.             e.setCancelled(true);
  23.  
  24.         }
  25.  
  26.     }
  27.  
  28.     @EventHandler
  29.     public void weather(WeatherChangeEvent e) {
  30.  
  31.         e.setCancelled(true);
  32.         e.getWorld().setStorm(false);
  33.  
  34.     }
  35.  
  36.     @EventHandler
  37.     public void playerInteractWithArmorStand(PlayerInteractAtEntityEvent e) {
  38.         Player p = e.getPlayer();
  39.         PlayerStats pStats = Skykings.playerStats.get(p);
  40.  
  41.         if (e.getRightClicked() instanceof ArmorStand) {
  42.  
  43.             e.setCancelled(true);
  44.  
  45.             ArmorStand a = (ArmorStand) e.getRightClicked();
  46.  
  47.             if (a.equals(GameManager.kingStand)
  48.                     && a.getHelmet().equals(Locations.kingsCrown)) {
  49.  
  50.                 StringUtils.announcement(p.getName() + " has taken the crown!");
  51.                 StringUtils.announcement(p.getName() + " is on the "
  52.                         + pStats.getTeam().getName() + " team");
  53.  
  54.                 a.setHelmet(air);
  55.                 p.getInventory().addItem(Locations.kingsCrown);
  56.  
  57.                 return;
  58.             }
  59.  
  60.             for (Teams team : Teams.values()) {
  61.  
  62.                 if (team.getStand().equals(a)
  63.                         && p.getInventory().contains(Locations.kingsCrown)
  64.                         && a.getHelmet().equals(air)
  65.                         && pStats.getTeam().equals(team)) {
  66.  
  67.                     a.setHelmet(Locations.kingsCrown);
  68.                     p.getInventory().remove(Locations.kingsCrown);
  69.  
  70.                     StringUtils
  71.                             .announcement(p.getName()
  72.                                     + " has captured the crown get it back! (30 Seconds to take it back)");
  73.                     StringUtils.announcement(p.getName() + " is on the "
  74.                             + pStats.getTeam().getName() + " team");
  75.  
  76.                     crownTimer.startTimer(a, pStats);
  77.  
  78.                     return;
  79.                 } else if (team.getStand().equals(a)
  80.                         && a.getHelmet().equals(Locations.kingsCrown)
  81.                         && !pStats.getTeam().equals(team)) {
  82.  
  83.                     a.setHelmet(air);
  84.                     p.getInventory().addItem(Locations.kingsCrown);
  85.  
  86.                     StringUtils.announcement(p.getName()
  87.                             + " has taken the crown from  " + team.getName()
  88.                             + " team!");
  89.  
  90.                     crownTimer.stopTimer();
  91.  
  92.                 }
  93.  
  94.             }
  95.  
  96.         }
  97.  
  98.     }
  99.  
  100.     @EventHandler
  101.     public void PlayerThrowCrown(ItemSpawnEvent e) {
  102.  
  103.         if (e.getEntity().getItemStack().equals(Locations.kingsCrown)) {
  104.             e.setCancelled(true);
  105.  
  106.             e.getEntity().setItemStack(new ItemStack(Material.AIR));
  107.  
  108.             GameManager.kingStand.setHelmet(Locations.kingsCrown);
  109.  
  110.             StringUtils.announcement("Crown was dropped and has been reset!");
  111.         }
  112.  
  113.     }
  114.  
  115.     @EventHandler
  116.     public void playerDamage(EntityDamageEvent e) {
  117.  
  118.         if (e.getEntityType().equals(EntityType.ARMOR_STAND)) {
  119.             e.setCancelled(true);
  120.             return;
  121.         }
  122.  
  123.         if (!GameState.isState(GameState.IN_GAME)) {
  124.             e.setCancelled(true);
  125.             return;
  126.         }
  127.  
  128.         if (e.getEntity() instanceof Player) {
  129.             Player p = (Player) e.getEntity();
  130.             if (respawnTimer.contains(p)) {
  131.                 e.setCancelled(true);
  132.                 return;
  133.             }
  134.  
  135.         }
  136.  
  137.     }
  138.  
  139.     public static void addSpawnTimer() {
  140.         for (Player p : Bukkit.getOnlinePlayers()) {
  141.             respawnTimer.add(p);
  142.         }
  143.  
  144.         Bukkit.getServer()
  145.                 .getScheduler()
  146.                 .scheduleSyncDelayedTask(Skykings.getInstance(),
  147.                         new Runnable() {
  148.  
  149.                             @Override
  150.                             public void run() {
  151.                                 for (Player p : Bukkit.getOnlinePlayers()) {
  152.                                     respawnTimer.remove(p);
  153.                                 }
  154.  
  155.                             }
  156.                         }, 100);
  157.     }
  158.  
  159.     @EventHandler
  160.     public void playerKill(PlayerDeathEvent e) {
  161.  
  162.         if (e.getEntity() instanceof Player) {
  163.  
  164.             Player killed = e.getEntity();
  165.  
  166.             if (killed.getInventory().contains(Locations.kingsCrown)) {
  167.                 killed.getInventory().remove(Locations.kingsCrown);
  168.                 GameManager.kingStand.setHelmet(Locations.kingsCrown);
  169.  
  170.                 StringUtils
  171.                         .announcement("Crown was dropped and has been reset!");
  172.             }
  173.  
  174.             e.setKeepInventory(true);
  175.  
  176.             PlayerStats killedStats = Skykings.playerStats.get(killed);
  177.  
  178.             killedStats.addDeath();
  179.  
  180.             if (killed.getLastDamageCause() instanceof EntityDamageByEntityEvent) {
  181.  
  182.                 EntityDamageByEntityEvent event = (EntityDamageByEntityEvent) killed
  183.                         .getLastDamageCause();
  184.  
  185.                 if (event.getDamager() instanceof Player) {
  186.  
  187.                     Player killer = (Player) event.getDamager();
  188.                     PlayerStats killerStats = Skykings.playerStats.get(killer);
  189.  
  190.                     killerStats.addKill();
  191.                     killerStats.addCoins(5);
  192.  
  193.                 }
  194.  
  195.             } else {
  196.                 return;
  197.             }
  198.  
  199.         }
  200.  
  201.     }
  202.  
  203.     @SuppressWarnings("deprecation")
  204.     @EventHandler
  205.     public void respawn(PlayerRespawnEvent e) {
  206.  
  207.         if (GameState.isState(GameState.IN_GAME)) {
  208.  
  209.             final Player p = e.getPlayer();
  210.  
  211.             respawnTimer.add(p);
  212.  
  213.             Bukkit.getServer()
  214.                     .getScheduler()
  215.                     .scheduleAsyncDelayedTask(Skykings.getInstance(),
  216.                             new Runnable() {
  217.  
  218.                                 @Override
  219.                                 public void run() {
  220.  
  221.                                     respawnTimer.remove(p);
  222.  
  223.                                 }
  224.  
  225.                             }, 20 * 5);
  226.  
  227.             final PlayerStats pStats = Skykings.playerStats.get(p);
  228.  
  229.             Bukkit.getServer()
  230.                     .getScheduler()
  231.                     .scheduleSyncDelayedTask(Skykings.getInstance(),
  232.                             new Runnable() {
  233.  
  234.                                 @Override
  235.                                 public void run() {
  236.                                     p.teleport(pStats.getTeam().getSpawn());
  237.                                 }
  238.                             }, 3);
  239.  
  240.         }
  241.  
  242.     }
  243.  
  244.     @EventHandler
  245.     public void onHungerLevel(FoodLevelChangeEvent e) {
  246.  
  247.         if (!GameState.isState(GameState.IN_GAME)) {
  248.             e.setCancelled(true);
  249.         }
  250.  
  251.     }
  252.  
  253.    
  254.     @EventHandler
  255.     public void EntityDeath(EntityDeathEvent e){
  256.        
  257.         net.minecraft.server.v1_8_R3.Entity Crafte = ((CraftEntity) e
  258.                 .getEntity()).getHandle();
  259.        
  260.         if(Crafte instanceof Skeletron){
  261.            
  262.             e.setDroppedExp(0);
  263.             e.getDrops().clear();
  264.            
  265.             ItemStack item = new ItemStack(Material.DIAMOND_SWORD);
  266.             item.addEnchantment(Enchantment.DAMAGE_ALL, 1);
  267.            
  268.             e.getEntity().getWorld().dropItem(e.getEntity().getEyeLocation(), item);
  269.            
  270.         }
  271.        
  272.        
  273.     }
  274.    
  275.     @EventHandler
  276.     public void entitySpawn(EntitySpawnEvent e) {
  277.  
  278.         net.minecraft.server.v1_8_R3.Entity Crafte = ((CraftEntity) e
  279.                 .getEntity()).getHandle();
  280.  
  281.         if (Crafte instanceof Skeletron) {
  282.         }else if(e.getEntity() instanceof Player){
  283.         }else if(e.getEntity() instanceof ArmorStand){
  284.         }else if(e.getEntity() instanceof Item){
  285.         }else{
  286.             e.setCancelled(true);
  287.         }
  288.  
  289.     }
  290.    
  291.     @EventHandler
  292.     public void combust(EntityCombustEvent e){
  293.         if(!(e.getEntity() instanceof Player)){
  294.             e.setCancelled(true);
  295.         }
  296.     }
  297.  
  298. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement