Zitugi

Classe Scoreboards

Oct 30th, 2016
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.72 KB | None | 0 0
  1. package fr.zitugi.scoreboardvite;
  2.  
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.entity.Player;
  5. import org.bukkit.event.EventHandler;
  6. import org.bukkit.event.Listener;
  7. import org.bukkit.event.entity.PlayerDeathEvent;
  8. import org.bukkit.event.player.PlayerJoinEvent;
  9. import org.bukkit.scoreboard.DisplaySlot;
  10. import org.bukkit.scoreboard.Objective;
  11. import org.bukkit.scoreboard.Score;
  12. import org.bukkit.scoreboard.Scoreboard;
  13. import org.bukkit.scoreboard.ScoreboardManager;
  14.  
  15. public class Scoreboards implements Listener {
  16.  
  17.     public Scoreboards(Main main) {
  18.     }
  19.  
  20.     @EventHandler
  21.     public void onJoin(PlayerJoinEvent e){
  22.         Player p = e.getPlayer();
  23.         createNewScoreboard(p);
  24.     }
  25.    
  26.     public void createNewScoreboard(Player p){
  27.         ScoreboardManager sm = Bukkit.getScoreboardManager();
  28.         Scoreboard board = sm.getNewScoreboard();
  29.         Objective obj = board.registerNewObjective("Stats", "dummy");
  30.         Score kill = obj.getScore("Kills : 0");
  31.         kill.setScore(-1);
  32.         Score mort = obj.getScore("Morts : 0");
  33.         mort.setScore(-2);
  34.         obj.setDisplayName("Statistiques");
  35.         obj.setDisplaySlot(DisplaySlot.SIDEBAR);
  36.         p.setScoreboard(board);
  37.     }
  38.    
  39.     @EventHandler
  40.     public void onDeath(PlayerDeathEvent e){
  41.         Player killed = e.getEntity();
  42.         Player killer = killed.getKiller();
  43.         if(killed instanceof Player){
  44.             Scoreboard boardkilled = ((Player) killed).getScoreboard();
  45.             Objective objkilled = boardkilled.getObjective(DisplaySlot.SIDEBAR);
  46.             resetMorts(killed, boardkilled, objkilled);
  47.         }
  48.         else{
  49.             return;
  50.         }
  51.         if(killer instanceof Player){
  52.             Scoreboard boardkiller = ((Player) killer).getScoreboard();
  53.             Objective objkiller = boardkiller.getObjective(DisplaySlot.SIDEBAR);
  54.             resetKills(killer, boardkiller, objkiller);
  55.         }
  56.        
  57.     }
  58.    
  59.     public void resetMorts(Player arg0, Scoreboard arg1, Objective arg2){
  60.         for(String ligne : arg1.getEntries()){
  61.             if(ligne.contains("Morts :")){
  62.                 arg1.resetScores(ligne);
  63.                 int score = 0;
  64.                 score = Integer.parseInt(ligne.split(" : ")[1]);
  65.                 int score2 = score+1;
  66.            
  67.                 String lastligne = ligne.split(":")[0];
  68.                 String newligne = lastligne + ": " + score2;
  69.                
  70.                 arg0.getScoreboard().resetScores(newligne);
  71.                 arg2.getScore(newligne).setScore(-2);
  72.                 return;
  73.             }
  74.         }
  75.     }
  76.    
  77.     public void resetKills(Player arg0, Scoreboard arg1, Objective arg2){
  78.         for(String ligne : arg1.getEntries()){
  79.             if(ligne.contains("Kills :")){
  80.                 arg1.resetScores(ligne);
  81.                 int score = 0;
  82.                 score = Integer.parseInt(ligne.split(" : ")[1]);
  83.                 int score2 = score+1;
  84.            
  85.                 String lastligne = ligne.split(":")[0];
  86.                 String newligne = lastligne + ": " + score2;
  87.                
  88.                 arg0.getScoreboard().resetScores(newligne);
  89.                 arg2.getScore(newligne).setScore(-1);
  90.                 return;
  91.             }
  92.         }
  93.     }
  94.    
  95. }
Add Comment
Please, Sign In to add comment