Advertisement
Guest User

FFA Stats

a guest
Jan 25th, 2015
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.83 KB | None | 0 0
  1. package Vinci.Stats.FFA;
  2.  
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.command.Command;
  5. import org.bukkit.command.CommandSender;
  6. import org.bukkit.entity.Player;
  7. import org.bukkit.event.EventHandler;
  8. import org.bukkit.event.Listener;
  9. import org.bukkit.event.entity.PlayerDeathEvent;
  10. import org.bukkit.event.player.PlayerJoinEvent;
  11. import org.bukkit.plugin.java.JavaPlugin;
  12.  
  13. public class Main extends JavaPlugin implements Listener {
  14.  
  15.     public String prefix = "§6FFA §7| ";
  16.  
  17.     public void onEnable() {
  18.  
  19.         Bukkit.getConsoleSender().sendMessage(
  20.                 "§3Die §eStats §3wurden erfolgreich aktiviert!");
  21.         Bukkit.getPluginManager().registerEvents(this, this);
  22.     }
  23.  
  24.     public boolean onCommand(CommandSender sender, Command cmd, String label,
  25.             String[] args) {
  26.         if (cmd.getName().equalsIgnoreCase("stats")) {
  27.             if (args.length == 0) {
  28.                 if (sender instanceof Player) {
  29.  
  30.                     Player p = (Player) sender;
  31.                     this.reloadConfig();
  32.                     int kills = this.getConfig().getInt(
  33.                             p.getName().toLowerCase() + ".Kills");
  34.                     int tode = this.getConfig().getInt(
  35.                             p.getName().toLowerCase() + ".Tode");
  36.                     int tokens = this.getConfig().getInt(
  37.                             p.getName().toLowerCase() + ".Tokens");
  38.                     p.sendMessage(prefix + "§3Spieler: §e" + p.getName());
  39.                     p.sendMessage(prefix + "§3Kills: §e" + kills);
  40.                     p.sendMessage(prefix + "§3Deaths: §e" + tode);
  41.                     p.sendMessage(prefix + "§3Tokens: §e" + tokens);
  42.                     p.sendMessage(prefix + "§3K/D: §e"
  43.                             + getKD((float) kills, (float) tode));
  44.                 } else {
  45.  
  46.                     sender.sendMessage(prefix
  47.                             + "§cDu kannst dir als Konsole nicht deine eigenen Stats anschauen...");
  48.  
  49.                 }
  50.             } else {
  51.  
  52.                 if (args.length == 1) {
  53.  
  54.                     this.reloadConfig();
  55.                     int kills = this.getConfig().getInt(
  56.                             args[0].toLowerCase() + ".Kills");
  57.                     int tode = this.getConfig().getInt(
  58.                             args[0].toLowerCase() + ".Tode");
  59.                     int tokens = this.getConfig().getInt(
  60.                             args[0].toLowerCase() + ".Tokens");
  61.                     if(this.getConfig().get(args[0].toLowerCase()) != null) {
  62.                        
  63.                         sender.sendMessage(prefix + "§3Spieler: §e" + args[0]);
  64.                         sender.sendMessage(prefix + "§3Kills: §e" + kills);
  65.                         sender.sendMessage(prefix + "§3Deaths: §e" + tode);
  66.                         sender.sendMessage(prefix + "§3Tokens: §e" + tokens);
  67.                         sender.sendMessage(prefix + "§3K/D: §e"
  68.                                 + getKD((float) kills, (float) tode));
  69.                        
  70.                     } else {
  71.                        
  72.                         sender.sendMessage(prefix + "§3Der Spieler §e" + args[0] + " §3hat noch nicht §6FFA §3gespielt.");
  73.                        
  74.                     }
  75.                 } else {
  76.  
  77.                     sender.sendMessage(prefix + "§cZu Viele Argumente!");
  78.                     sender.sendMessage(prefix
  79.                             + "§3Benutze §e/stats §3oder §e/stats <Spieler>");
  80.  
  81.                 }
  82.  
  83.             }
  84.         }
  85.         if (cmd.getName().equalsIgnoreCase("statsreload")) {
  86.             if (sender.hasPermission("ffa.reloadstats")) {
  87.  
  88.                 this.reloadConfig();
  89.                 sender.sendMessage(prefix
  90.                         + "§aDie §eConfig §awurde erfolgreich §ereloaded§a!");
  91.  
  92.             } else {
  93.  
  94.                 sender.sendMessage(prefix
  95.                         + "§cDu hast nicht die benötigten §eRechte§c, um diesen Befehl auszuführen zu können.");
  96.  
  97.             }
  98.         }
  99.         return false;
  100.  
  101.     }
  102.  
  103.     @EventHandler
  104.     public void onJoin(PlayerJoinEvent e) {
  105.  
  106.         Player p = e.getPlayer();
  107.  
  108.         if (this.getConfig().getString(p.getName().toLowerCase()) == null) {
  109.  
  110.             this.getConfig().set(p.getName().toLowerCase() + ".Kills", 0);
  111.             this.getConfig().set(p.getName().toLowerCase() + ".Tode", 0);
  112.             this.getConfig().set(p.getName().toLowerCase() + ".Tokens", 100);
  113.  
  114.         }
  115.  
  116.     }
  117.  
  118.     @EventHandler
  119.     public void onDeath(PlayerDeathEvent e) {
  120.  
  121.         Player p = e.getEntity();
  122.         Player k = p.getKiller();
  123.  
  124.         if (k instanceof Player) {
  125.             int temp1 = this.getConfig().getInt(
  126.                     k.getName().toLowerCase() + ".Kills");
  127.             int kills = temp1 + 1;
  128.  
  129.             this.getConfig().set(k.getName().toLowerCase() + ".Kills", kills);
  130.             this.saveConfig();
  131.             int temp2 = this.getConfig().getInt(
  132.                     k.getName().toLowerCase() + ".Tokens");
  133.             int tokens1 = temp2 + 10;
  134.             this.getConfig()
  135.                     .set(k.getName().toLowerCase() + ".Tokens", tokens1);
  136.             this.saveConfig();
  137.             int temp3 = this.getConfig().getInt(
  138.                     p.getName().toLowerCase() + ".Tode");
  139.             int tode1 = temp3 + 1;
  140.             this.getConfig().set(p.getName().toLowerCase() + ".Tode", tode1);
  141.             this.saveConfig();
  142.             int temp4 = this.getConfig().getInt(
  143.                     p.getName().toLowerCase() + ".Tokens");
  144.             int tokens2 = temp4 - 10;
  145.             this.getConfig()
  146.                     .set(p.getName().toLowerCase() + ".Tokens", tokens2);
  147.             this.saveConfig();
  148.         } else {
  149.             int temp5 = this.getConfig().getInt(
  150.                     p.getName().toLowerCase() + ".Tode");
  151.             int tode2 = temp5 + 1;
  152.  
  153.             this.getConfig().set(p.getName().toLowerCase() + ".Tode", tode2);
  154.             this.saveConfig();
  155.             int temp6 = this.getConfig().getInt(
  156.                     p.getName().toLowerCase() + ".Tokens");
  157.             int tokens3 = temp6 - 10;
  158.  
  159.             this.getConfig()
  160.                     .set(p.getName().toLowerCase() + ".Tokens", tokens3);
  161.             this.saveConfig();
  162.         }
  163.  
  164.     }
  165.  
  166.     public static double round(double einheit, int dezimalzahl) {
  167.         double p = Math.pow(10.0D, dezimalzahl);
  168.         return Math.round(einheit * p) / p;
  169.     }
  170.  
  171.     public static float getKD(float kills, float tode) {
  172.         if ((kills == 0.0F) && (tode == 0.0F)) {
  173.             return 0.0F;
  174.         }
  175.         if ((kills > 0.0F) && (tode == 0.0F)) {
  176.             return kills;
  177.         }
  178.         if ((tode > 0.0F) && (kills == 0.0F)) {
  179.             return 0.0F;
  180.         }
  181.         if (kills / tode > 0.0001D) {
  182.             Math.round(0.1D);
  183.             return (float) round(kills / tode, 2);
  184.         }
  185.         if (kills > tode) {
  186.             return kills / tode;
  187.         }
  188.         if (tode / kills > 0.0001D) {
  189.             Math.round(0.1D);
  190.             return (float) round(tode / kills, 2);
  191.         }
  192.         if (tode > kills) {
  193.             return tode / kills;
  194.         }
  195.         return kills / tode;
  196.     }
  197.  
  198.     public static double roundWahrscheinlich(double einheit, int dezimalzahl) {
  199.         double p = Math.pow(10.0D, dezimalzahl);
  200.         return Math.round(einheit * p) / p;
  201.     }
  202. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement