Advertisement
Guest User

KillstreakBroadcast

a guest
Feb 26th, 2014
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.75 KB | None | 0 0
  1. package net.ExtremeMC.KillstreakBroadcast;
  2.  
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.Map;
  6.  
  7. import org.bukkit.Bukkit;
  8. import org.bukkit.ChatColor;
  9. import org.bukkit.command.Command;
  10. import org.bukkit.command.CommandSender;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.event.EventHandler;
  13. import org.bukkit.event.Listener;
  14. import org.bukkit.event.entity.PlayerDeathEvent;
  15. import org.bukkit.event.player.PlayerJoinEvent;
  16. import org.bukkit.event.player.PlayerQuitEvent;
  17. import org.bukkit.plugin.java.JavaPlugin;
  18.  
  19. public class KillstreakBroadcast extends JavaPlugin implements Listener{
  20.     public Map<String, Integer> killstreaks = new HashMap<String, Integer>();
  21.    
  22.     public void onDisable() {
  23.         killstreaks.clear();
  24.         getLogger().info("KillstreakBroadcast has been disabled!");
  25.     }
  26.    
  27.     public void onEnable() {
  28.         this.saveDefaultConfig();
  29.         getServer().getPluginManager().registerEvents(this, this);
  30.         getLogger().info("KillstreakBroadcast has been enabled!");
  31.         for (Player player : Bukkit.getOnlinePlayers()) {
  32.             killstreaks.put(player.getDisplayName(), 0);
  33.         }
  34.     }
  35.    
  36.     @EventHandler
  37.     public void onPlayerJoin(PlayerJoinEvent event) {
  38.         killstreaks.put(event.getPlayer().getDisplayName(), 0);
  39.     }
  40.    
  41.     @EventHandler
  42.     public void onPlayerLeave(PlayerQuitEvent event) {
  43.         killstreaks.remove(event.getPlayer().getDisplayName());
  44.     }
  45.    
  46.     @EventHandler
  47.     public void onPlayerKilled(PlayerDeathEvent event) {
  48.         String prefix = getConfig().getString("prefix") + " ";
  49.         prefix = ChatColor.translateAlternateColorCodes('&', prefix);
  50.         @SuppressWarnings("unchecked")
  51.         List<Integer> ks = (List<Integer>) getConfig().getList("killstreaks");
  52.         String message;
  53.         String killstreakstring;
  54.        
  55.         String killer = event.getEntity().getKiller().getDisplayName();
  56.         String killed = event.getEntity().getDisplayName();
  57.         Player killedplayer = event.getEntity();
  58.         Player killerplayer = event.getEntity().getKiller();
  59.        
  60.         boolean usexpbar = getConfig().getBoolean("usexpbar");
  61.         if (killerplayer.hasPermission("killstreak.use")) {
  62.             int oldkillstreak = killstreaks.get(killed);
  63.             killstreaks.put(killed, 0);
  64.            
  65.             if (ks.contains(oldkillstreak)){
  66.                 killstreakstring = String.valueOf(oldkillstreak);
  67.                 message = prefix + getConfig().getString("messagekillstreakbroken");
  68.                 message = ChatColor.translateAlternateColorCodes('&', message);
  69.                 message = message.replaceAll("-playerbreaker-", killer);
  70.                 message = message.replaceAll("-playerbroken-", killed);
  71.                 message = message.replaceAll("-killstreak-", killstreakstring);
  72.             }
  73.            
  74.             int current = killstreaks.get(killer);
  75.             current ++;
  76.             killstreaks.put(killer,  current);
  77.            
  78.             if (usexpbar) {
  79.                 killedplayer.setExp(0);
  80.                 killerplayer.setExp(0);
  81.                 killerplayer.setLevel(current);
  82.             }
  83.  
  84.             if (ks.contains(current)) {
  85.                 killstreakstring = String.valueOf(current);
  86.                 message = ChatColor.GOLD + prefix + getConfig().getString("messagenewkillstreak");
  87.                 message = ChatColor.translateAlternateColorCodes('&', message);
  88.                 message = message.replaceAll("-player-", killer);
  89.                 message = message.replaceAll("-killstreak-", killstreakstring);
  90.                 Bukkit.broadcastMessage(message);
  91.                
  92.             }
  93.         }
  94.        
  95.     }
  96.    
  97.     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  98.         String prefix = getConfig().getString("prefix");
  99.         prefix = ChatColor.translateAlternateColorCodes('&', prefix);
  100.         if (cmd.getName().equalsIgnoreCase("kb")) {
  101.             if (args.length == 0) {
  102.                 sender.sendMessage(prefix + " Not enough arguments!");
  103.                 return true;
  104.             } else if (args.length > 1) {
  105.                 sender.sendMessage(prefix + " Too many arguments!");
  106.                 return true;
  107.             } else {
  108.                 if (args[0].equalsIgnoreCase("reset")) {
  109.                     if (sender.hasPermission("killstreak.reset") || sender.hasPermission("killstreak.*")) {
  110.                         Bukkit.broadcastMessage(prefix + " Killstreaks have been reset!");
  111.                         killstreaks.clear();
  112.                         for (Player player : Bukkit.getOnlinePlayers()) {
  113.                             killstreaks.put(player.getDisplayName(), 0);
  114.                         }
  115.                         return true;
  116.                     } else {
  117.                         sender.sendMessage(prefix + " You dont have permission to do that!");
  118.                         return true;
  119.                     }
  120.                 } else if (args[0].equalsIgnoreCase("reload")) {
  121.                     if (sender.hasPermission("killstreak.reload") || sender.hasPermission("killstreak.*")) {
  122.                         getLogger().info("Plugin reload initiated.");
  123.                         onDisable();
  124.                         this.reloadConfig();
  125.                         onEnable();
  126.                         Bukkit.broadcastMessage(prefix + " Killstreaks have been reset!");
  127.                         return true;
  128.                     } else {
  129.                         sender.sendMessage(prefix + " You dont have permission to do that!");
  130.                         return true;
  131.                     }
  132.                 } else {
  133.                     sender.sendMessage(prefix + " Unknown command");
  134.                     return true;
  135.                 }
  136.             }
  137.         }
  138.         return false;
  139.     }
  140. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement