[WIP] [HELP] Adding cooldowns to events?

Discussion in 'WIP and Development Status' started by War-Realms, Mar 29, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    War-Realms

    Main class:
    Code:java
    1. package me.hbc.main;
    2.  
    3. import java.util.ArrayList;
    4.  
    5. import org.bukkit.Bukkit;
    6. import org.bukkit.plugin.java.JavaPlugin;
    7.  
    8. public class Main extends JavaPlugin
    9. {
    10. public ArrayList<String> cooldown = new ArrayList<String>();
    11. public ArrayList<String> magic = new ArrayList<String>();
    12.  
    13. public void onEnable()
    14. {
    15. System.out.println("LRkit/pvp has been enabled!");
    16. getCommand("scout").setExecutor(new kitScoutCommand(this));
    17. Bukkit.getServer().getPluginManager().registerEvents( new GlobalEvents(null), this);
    18. }
    19. }


    CommandExecute class:
    Code:java
    1. package me.hbc.main;
    2.  
    3. import java.util.Arrays;
    4.  
    5. import org.bukkit.ChatColor;
    6. import org.bukkit.Material;
    7. import org.bukkit.command.Command;
    8. import org.bukkit.command.CommandExecutor;
    9. import org.bukkit.command.CommandSender;
    10. import org.bukkit.enchantments.Enchantment;
    11. import org.bukkit.entity.Player;
    12. import org.bukkit.inventory.ItemStack;
    13. import org.bukkit.inventory.meta.ItemMeta;
    14.  
    15. public class kitScoutCommand implements CommandExecutor
    16. {
    17. Main plugin;
    18.  
    19. public kitScoutCommand(Main plugin)
    20. {
    21. this.plugin = plugin;
    22. }
    23.  
    24. @Override
    25. public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
    26. {
    27. if(!(sender instanceof Player))
    28. {
    29. sender.sendMessage("You must be a player in order to execute this command!");
    30. return false;
    31. }
    32.  
    33. Player p = (Player) sender;
    34.  
    35. if(plugin.cooldown.contains(p.getName()))
    36. {
    37. p.sendMessage(ChatColor.BLUE + "cooldown> you can only choose one kit per live!");
    38. }
    39. if(sender instanceof Player)
    40. {
    41. if(p.hasPermission("kitpvp.scout"))
    42. {
    43. this.onPlayerKit(p);
    44. this.setscoutKit(p);
    45. plugin.cooldown.add(p.getName());
    46. }
    47. if(!(p.hasPermission("kitpvp.scout")))
    48. {
    49. p.sendMessage(ChatColor.RED + "[LRkitpvp]"
    50. + ChatColor.BLUE + " you don't have permissions to do this!");
    51. }
    52. }
    53. return false;
    54. }
    55.  
    56. public void onPlayerKit(Player p)
    57. {
    58. p.sendMessage(ChatColor.RED + "[LRkitpvp]"
    59. + ChatColor.GREEN + " you have been given the scout kit!");
    60. }
    61. public void setscoutKit(Player p)
    62. {
    63. ItemStack Scoutsword = new ItemStack(Material.IRON_SWORD, 1);
    64. ItemMeta meta = Scoutsword.getItemMeta();
    65. meta.setDisplayName(ChatColor.RED + "[Scout Sword]");
    66. Scoutsword.setItemMeta(meta);
    67. Scoutsword.addEnchantment(Enchantment.DAMAGE_ALL, 2);
    68.  
    69. p.getInventory().addItem(Scoutsword);
    70.  
    71. ItemStack ScoutBow = new ItemStack(Material.BOW, 1);
    72. ItemMeta bowm = ScoutBow.getItemMeta();
    73. bowm.setDisplayName(ChatColor.RED + "[Scout Bow]");
    74. bowm.setLore(Arrays.asList("arrow-type: posion arrows", "range: any"));
    75. ScoutBow.setItemMeta(bowm);
    76.  
    77. p.getInventory().addItem(ScoutBow);
    78.  
    79. ItemStack pArrow = new ItemStack(Material.ARROW, 64);
    80. ItemMeta pmeta = pArrow.getItemMeta();
    81. pmeta.setDisplayName(ChatColor.LIGHT_PURPLE + "[Posion Arrow]");
    82. pmeta.setLore(Arrays.asList("arrow-tip: posion touch"));
    83. pArrow.setItemMeta(pmeta);
    84.  
    85. p.getInventory().addItem(pArrow);
    86.  
    87. ItemStack magicb = new ItemStack(Material.BEACON, 1);
    88. ItemMeta magic = magicb.getItemMeta();
    89. magic.setDisplayName(ChatColor.BLUE + "[Scout Power Cube]");
    90. magic.setLore(Arrays.asList("power-type: resistance", "power-level: 2", "magic-time: 5 seconds"));
    91. magicb.setItemMeta(magic);
    92.  
    93. p.getInventory().addItem(magicb);
    94.  
    95. ItemStack ScoutHelmet = new ItemStack(Material.IRON_HELMET, 1);
    96. ItemMeta hmeta = ScoutHelmet.getItemMeta();
    97. hmeta.setDisplayName(ChatColor.RED + "[Scout Helmet]");
    98. ScoutHelmet.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    99. ScoutHelmet.setItemMeta(hmeta);
    100.  
    101. p.getInventory().setHelmet(ScoutHelmet);
    102.  
    103. ItemStack ScoutChestp = new ItemStack(Material.IRON_CHESTPLATE, 1);
    104. ItemMeta cmeta = ScoutHelmet.getItemMeta();
    105. cmeta.setDisplayName(ChatColor.RED + "[Scout ChestPlate]");
    106. ScoutChestp.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    107. ScoutChestp.setItemMeta(cmeta);
    108.  
    109. p.getInventory().setChestplate(ScoutChestp);
    110.  
    111. ItemStack Scoutleg = new ItemStack(Material.IRON_LEGGINGS, 1);
    112. ItemMeta lmeta = Scoutleg.getItemMeta();
    113. lmeta.setDisplayName(ChatColor.RED + "[Scout Leggings]");
    114. Scoutleg.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    115. Scoutleg.setItemMeta(lmeta);
    116.  
    117. p.getInventory().setLeggings(Scoutleg);
    118.  
    119. ItemStack Scoutboots = new ItemStack(Material.IRON_BOOTS, 1);
    120. ItemMeta bmeta = ScoutHelmet.getItemMeta();
    121. bmeta.setDisplayName(ChatColor.RED + "[Scout Boots]");
    122. Scoutboots.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    123. Scoutboots.setItemMeta(bmeta);
    124.  
    125. p.getInventory().setBoots(Scoutboots);
    126.  
    127. p.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 1));
    128. p.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 1));
    129. p.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 1));
    130. p.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 1));
    131. p.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 1));
    132. p.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 1));
    133. p.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 1));
    134. p.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 1));
    135. p.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 1));
    136. p.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 1));
    137. p.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 1));
    138. p.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 1));
    139. p.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 1));
    140. p.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 1));
    141. p.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 1));
    142. p.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 1));
    143. p.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 1));
    144. p.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 1));
    145. p.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 1));
    146. p.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 1));
    147. }
    148. }


    Globalevents class:
    Code:java
    1. package me.hbc.main;
    2.  
    3. import org.bukkit.ChatColor;
    4. import org.bukkit.Material;
    5. import org.bukkit.entity.Arrow;
    6. import org.bukkit.entity.Player;
    7. import org.bukkit.entity.Projectile;
    8. import org.bukkit.event.EventHandler;
    9. import org.bukkit.event.Listener;
    10. import org.bukkit.event.block.Action;
    11. import org.bukkit.event.entity.PlayerDeathEvent;
    12. import org.bukkit.event.entity.ProjectileHitEvent;
    13. import org.bukkit.event.player.PlayerInteractEvent;
    14. import org.bukkit.event.player.PlayerJoinEvent;
    15. import org.bukkit.event.player.PlayerQuitEvent;
    16. import org.bukkit.potion.PotionEffect;
    17. import org.bukkit.potion.PotionEffectType;
    18.  
    19. public class GlobalEvents implements Listener
    20. {
    21. Main plugin;
    22.  
    23. public GlobalEvents(Main plugin)
    24. {
    25. this.plugin = plugin;
    26. }
    27.  
    28. @EventHandler
    29. public void onPlayerDeathEvent(PlayerDeathEvent e)
    30. {
    31. if(e.getEntity() instanceof Player && e.getEntity().getKiller() instanceof Player)
    32. {
    33. Player p = (Player) e.getEntity();
    34. e.getDrops().clear();
    35. p.sendMessage(ChatColor.RED + "[LRkitpvp]"
    36. + ChatColor.GREEN + " you have been killed by " + e.getEntity().getKiller().getName() + "!");
    37. p.getKiller().sendMessage(ChatColor.RED + "[LRkitpvp]"
    38. + ChatColor.GREEN + " you have murdered " + e.getEntity().getName() + "!");
    39. p.getKiller().sendMessage(ChatColor.RED + "[LRkitpvp]"
    40. + ChatColor.GREEN + " you have earned 10 kill coins for killing " + e.getEntity().getName() + "!");
    41. e.setDeathMessage(ChatColor.RED + "LRDeath> " +
    42. ChatColor.BLUE + e.getEntity().getName() + " has been beheaded by " + e.getEntity().getKiller().getName());
    43. plugin.cooldown.remove(p.getName());
    44. plugin.magic.remove(p.getName());
    45. return;
    46. }
    47. }
    48. @EventHandler
    49. public void onProjectileHit(ProjectileHitEvent e) {
    50. Projectile p = e.getEntity();
    51. if (!(p instanceof Arrow))
    52. return;
    53. Arrow a = (Arrow) p;
    54. if(a.hasMetadata("pmeta"))
    55. {
    56. a.getWorld().createExplosion(p.getLocation(), 2.0F);
    57. for (org.bukkit.entity.Entity ent : a.getNearbyEntities(2.0, 2.0, 2.0))
    58. {
    59. if (ent instanceof Player)
    60. {
    61. Player pl = (Player) ent;
    62. if (!(pl == e.getEntity().getShooter())) pl.addPotionEffect(new PotionEffect(PotionEffectType.POISON, 100, 1));
    63. }
    64. }
    65. }
    66. }
    67. @EventHandler
    68. public void onSwordClick(PlayerInteractEvent e)
    69. {
    70. final Player p = (Player) e.getPlayer();
    71. if(e.getAction() == Action.RIGHT_CLICK_BLOCK || e.getAction() == Action.RIGHT_CLICK_AIR)
    72. {
    73. if(p.getItemInHand() !=null)
    74. {
    75. if(p.getItemInHand().getType() == Material.BEACON)
    76. {
    77. if(plugin.magic.contains(p.getName()))
    78. {
    79. p.sendMessage("must wait");
    80. }
    81. if(p.getItemInHand().hasItemMeta())
    82. {
    83. plugin.magic.add(p.getName());
    84. p.sendMessage(ChatColor.BLUE + "[Magic]"
    85. + ChatColor.RED + " you have actived your magic! you only can use your power once per life!");
    86. p.addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, 100, 1));
    87. }
    88. }
    89. }
    90. }
    91. }
    92. @EventHandler
    93. public void onPlayerLogoutEvent(PlayerQuitEvent e)
    94. {
    95. e.setQuitMessage(ChatColor.RED + "[LRkitpvp]" +
    96. ChatColor.GREEN + e.getPlayer().getName() + " have left the server!");
    97. }
    98. @EventHandler
    99. public void onPlayerJoinEvent(PlayerJoinEvent e)
    100. {
    101. Player p = (Player) e.getPlayer();
    102.  
    103. e.getPlayer().sendMessage(ChatColor.RED + "======================== [LRkitpvp] =======================");
    104. e.getPlayer().sendMessage(ChatColor.RED + "- please read the rules!");
    105. e.getPlayer().sendMessage(ChatColor.GREEN + "- to pick a kit you must click the [kit] sign!");
    106. e.getPlayer().sendMessage(ChatColor.RED + "- In order to unlock kit's you buy them using the [kitshop] signs!");
    107. e.getPlayer().sendMessage(ChatColor.GREEN + "vist: lr-kitpvp.enjin.com");
    108. e.getPlayer().sendMessage(ChatColor.RED + " - Donate for extras like buffs/prefixs/extra kits/map access");
    109. e.getPlayer().sendMessage(ChatColor.GREEN + "- Vote for 250 kill coins and free buffs! [Each Link]");
    110. e.getPlayer().sendMessage(ChatColor.RED + "Stage: BETA " + ChatColor.GREEN + "Stages: [BETA|OPEN BETA|OPEN]");
    111. e.getPlayer().sendMessage(ChatColor.BLUE + " Coded by: GamingdaDragon");
    112. e.getPlayer().sendMessage(ChatColor.RED + "===========================================================");
    113. e.setJoinMessage(ChatColor.BLUE + "[LRjoin] " + p.getName() + " has join LRkitpvp!");
    114. }
    115. }


    How would I make it so that if the players are in the arraylist that they must wait wait after 10 seconds to get removed from the arraylist and allowed to do the event again.
     
Thread Status:
Not open for further replies.

Share This Page