Stats Scoreboard

Discussion in 'Plugin Development' started by Doodledew, Oct 6, 2013.

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

    Doodledew

    Hello I have some code (not originally mine). It's a stats plugin which shows the players pvp stats when doing /stats .
    So basically.. I want to code a scoreboard which displays the players stats (sidebar), so you can do both /stats and look at the scoreboard. I also want each players to have it's own scoreboard which
    displays the players name.
    I'm not sure how to start, so if anyone have any ideas/tips please post down below!

    Main class:



    Code:
    public List<String> myTop5 = new ArrayList<String> ();
    public File configFile;
    public FileConfiguration playersFile;
    public List<String> deadList = new ArrayList<String> ();
    boolean logActions;
    public Main plugin;
    private static ksAPI API = null;
     
    public List<String> disabledWorlds = new ArrayList<String> ();
     
    public void onEnable()
    {
      getServer().getPluginManager().registerEvents(this, this);
     
      API = new ksAPI(this);
     
      loadPlayerYML();
     
      saveDefaultConfig();
     
      saveResource("OriginalConfig.txt", true);
     
      this.logActions = getConfig().getBoolean("LogActions");
     
      for (String x : getConfig().getStringList("IgnoredWorlds"))
      {
        this.disabledWorlds.add(x.toLowerCase());
      }
    }
     
    public void onDisable()
    {
      savePlayerYML();
    }
     
    @EventHandler
    public void playerLogin(PlayerJoinEvent event)
    {
      Player player = event.getPlayer();
     
      if (player.hasPermission("tncstats.admin"))
      {
        if (getConfig().getDouble("configversion") != 2.0D)
        {
        }
      }
    }
     
    @EventHandler
    public void playerDeath(PlayerDeathEvent event)
    {
      if (getConfig().getBoolean("OnlyPvPDeaths"))
      {
        if (!(event.getEntity().getKiller() instanceof Player))
        {
          return;
        }
     
      }
     
      if (worldDisabled(event.getEntity().getWorld()))
      {
        return;
      }
     
      boolean antiBoost = getConfig().getBoolean("AntiBoostEnabled");
     
      if ((event.getEntity().getKiller() instanceof Player))
      {
        final Player player = event.getEntity();
        final Player killer = player.getKiller();
     
        String pWorld = player.getWorld().getName();
        String kWorld = killer.getWorld().getName();
     
        if (!API.hasProfile(player.getName(), player.getWorld().getName()))
        {
          API.setupProfile(player.getName(), player.getWorld().getName());
        }
     
        if (!API.hasProfile(killer.getName(), killer.getWorld().getName()))
        {
          API.setupProfile(killer.getName(), killer.getWorld().getName());
        }
     
        boolean dropHeads = getConfig().getBoolean("DropHead");
     
        int playerDeath = API.getDeaths(player.getName(), pWorld);
        int killerKills = API.getKills(killer.getName(), kWorld);
        int playerStreak = API.getStreak(player.getName(), pWorld);
        int killerStreak = API.getStreak(killer.getName(), kWorld);
     
        if (antiBoost)
        {
          if (isBoosting(killer, player))
          {
            String bAlert = getConfig().getString("BoosterAlert");
     
            bAlert = bAlert.replaceAll("<player>", player.getName());
     
            if (!bAlert.equalsIgnoreCase("disable"))
            {
              killer.sendMessage(replaceColors(bAlert));
            }
     
            return;
          }
     
          this.deadList.add(killer.getName() + ":" + player.getName());
     
          long coolDown = getConfig().getLong("TimeLimit");
     
          coolDown = coolDown * 60L * 20L;
     
          getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable()
          {
            public void run()
            {
              Main.this.deadList.remove(killer.getName() + ":" + player.getName());
            }
          }
          , coolDown);
        }
     
        if (dropHeads)
        {
          DropHead(player);
        }
     
        if (playerStreak > 0)
        {
          if (getConfig().getBoolean("BroadcastBrokenStreak"))
          {
            HandleBrokenStreak(player, killer, playerStreak);
          }
     
          API.setStreak(player.getName(), 0, pWorld);
        }
     
        killerStreak++;
        playerDeath++;
        killerKills++;
     
        API.setStreak(killer.getName(), killerStreak, kWorld);
        API.setDeaths(player.getName(), playerDeath, pWorld);
        API.setKills(killer.getName(), killerKills, kWorld);
     
        if (getConfig().getBoolean("RewardsEnabled"))
        {
          HandleRewards(killer, player, killerStreak);
        }
     
        if (getConfig().getBoolean("broadcastStreak"))
        {
          HandleBroadcast(player, killer, killerStreak);
        }
     
        savePlayerYML();
      }
      else
      {
        Player player = event.getEntity();
     
        if (!API.hasProfile(player.getName(), player.getWorld().getName()))
        {
          API.setupProfile(player.getName(), player.getWorld().getName());
        }
     
        String pWorld = player.getWorld().getName();
     
        int playerDeath = API.getDeaths(player.getName(), pWorld);
     
        playerDeath++;
     
        API.setDeaths(player.getName(), playerDeath, pWorld);
        API.setStreak(player.getName(), 0, pWorld);
     
        return;
       
      }
    }
     
    public boolean onCommand(CommandSender sender, Command cmd, String cmdL, String[] args)
    {
      if (!(sender instanceof Player))
      {
        sender.sendMessage("You goofball, you cant run that command from console!");
        return true;
      }
     
      Player player = (Player)sender;
     
      if ((cmdL.equalsIgnoreCase("stats")) || (cmdL.equalsIgnoreCase("ks")))
      {
        if (worldDisabled(player.getWorld()))
        {
          player.sendMessage("§8-- [§6TNCstats§8] -- §4No stats to display...");
     
          return true;
        }
     
        if (args.length > 2)
        {
          pluginHelp(player);
     
          return true;
        }
     
        if (args.length == 0)
        {
          getPlayerInfo(player, player);
     
          return true;
        }
     
        if (args.length == 1)
        {
          if (args[0].equalsIgnoreCase("?"))
          {
            pluginHelp(player);
     
     
            return true;
          }
          if (args[0].equalsIgnoreCase("top"))
          {
            player.sendMessage("§8[§6Rank§8] [§6Playername§8]" + " - " + "§8[§6Kills : Deaths§8]");
     
            getRank(player);
     
            return true;
          }
          if (args[0].equalsIgnoreCase("reload"))
          {
            if (player.hasPermission("killStats.admin"))
            {
              loadPlayerYML();
     
              this.disabledWorlds.clear();
     
              reloadConfig();
     
              for (String x : getConfig().getStringList("IgnoredWorlds"))
              {
                this.disabledWorlds.add(x.toLowerCase());
              }
     
              player.sendMessage("§8[§6TNCstats§8] " + ChatColor.GREEN + "Reload complete.");
     
              if (this.logActions)
              {
                logInfo(player.getName(), "Reloaded Configuration.");
              }
     
              return true;
            }
     
            player.sendMessage("§8[§6TNCstats§8] " + ChatColor.RED + "You don't have permission to run this command.");
     
            return true;
          }
     
          Player tPlayer = player.getServer().getPlayer(args[0]);
     
          if (tPlayer != null)
          {
            getPlayerInfo(player, tPlayer);
     
            return true;
          }
     
          player.sendMessage("§8[§6TNCstats§8] " + ChatColor.RED + "Player not found.");
     
          return true;
        }
     
        if (args.length == 2)
        {
          if (args[0].equalsIgnoreCase("head"))
          {
            if (!player.hasPermission("tncstats.admin"))
            {
              player.sendMessage("§8[§6TNCstats§8] " + ChatColor.RED + "You don't have permission to run that command!");
     
              return true;
            }
     
            Player tPlayer = getServer().getPlayer(args[1]);
     
            if (tPlayer == null)
            {
              ItemStack i = new ItemStack(Material.SKULL_ITEM, 1, (short)3);
     
              SkullMeta meta = (SkullMeta)i.getItemMeta();
     
              meta.setOwner(args[1].toString());
     
              i.setItemMeta(meta);
     
              player.getInventory().setItemInHand(i);
            }
            else
            {
              ItemStack i = new ItemStack(Material.SKULL_ITEM, 1, (short)3);
     
              SkullMeta meta = (SkullMeta)i.getItemMeta();
     
              meta.setOwner(tPlayer.getName());
     
              i.setItemMeta(meta);
     
              player.getInventory().setItemInHand(i);
            }
     
          }
          else if (args[0].equalsIgnoreCase("prune"))
          {
            if (args[1].equalsIgnoreCase("kills"))
            {
              prunePlayers(player, "kills");
     
              return true;
            }
            if (args[1].equalsIgnoreCase("deaths"))
            {
              prunePlayers(player, "deaths");
     
              return true;
            }if (args[1].equalsIgnoreCase("inactive"))
            {
              prunePlayers(player, "inactive");
     
              return true;
            }
     
          }
          else if (args[0].equalsIgnoreCase("reset"))
          {
            Player targetPlayer = getServer().getPlayer(args[1]);
     
            if (player.hasPermission("tncstats.admin"))
            {
              if (targetPlayer == null)
              {
                OfflinePlayer offlinePlayer = getServer().getOfflinePlayer(args[0]);
     
                API.setKills(offlinePlayer.getName(), 0, player.getWorld().getName());
                API.setDeaths(offlinePlayer.getName(), 0, player.getWorld().getName());
                API.setStreak(offlinePlayer.getName(), 0, player.getWorld().getName());
     
                player.sendMessage("§8[§6TNCstats§8] " + ChatColor.GREEN+ "TNCstats profile reset was successful.");
     
                return true;
              }
     
              API.setKills(targetPlayer.getName(), 0, targetPlayer.getWorld().getName());
              API.setDeaths(targetPlayer.getName(), 0, targetPlayer.getWorld().getName());
              API.setStreak(targetPlayer.getName(), 0, targetPlayer.getWorld().getName());
     
              savePlayerYML();
     
              player.sendMessage("§8[§6TNCstats§8] " + ChatColor.GREEN+ "TNCstats profile reset was successful.");
     
              if (this.logActions)
              {
                logInfo(player.getName(), "Reset " + targetPlayer.getName() + "'s profile.");
              }
     
              return true;
            }
     
            player.sendMessage("§8[§6TNCstats§8] " + ChatColor.RED + "You don't have permission to run this command.");
          }
          else
          {
            pluginHelp(player);
     
            return true;
          }
     
        }
     
      }
     
      return true;
    }
     
    public void loadPlayerYML()
    {
      this.configFile = new File(getDataFolder(), "players.yml");
     
      this.playersFile = new YamlConfiguration();
     
      if (!getDataFolder().exists()) {
        try
        {
          getDataFolder().mkdir();
        }
        catch (Exception localException)
        {
        }
     
      }
     
      if (!this.configFile.exists())
        try
        {
          this.configFile.createNewFile();
        }
        catch (Exception localException1)
        {
        }
      try
      {
        this.playersFile.load(this.configFile);
      }
      catch (Exception localException2)
      {
      }
    }
     
    public void savePlayerYML() {
      try {
        this.playersFile.save(this.configFile);
      }
      catch (IOException e) {
        e.printStackTrace();
      }
    }
     
    static String replaceColors(String message)
    {
      return message.replaceAll("(?i)&([a-f0-9])", "§$1");
    }
     
    public void getPlayerInfo(Player player, Player targetPlayer)
    {
      if (!API.hasProfile(targetPlayer.getName(), targetPlayer.getWorld().getName()))
      {
        player.sendMessage("§8-- [§6TNCstats§8] -- §4Player has no stats to display.");
     
        return;
      }
     
      int lngKills = API.getKills(targetPlayer.getName(), targetPlayer.getWorld().getName());
      int lngDeaths = API.getDeaths(targetPlayer.getName(), targetPlayer.getWorld().getName());
      int lngKS = API.getStreak(targetPlayer.getName(), targetPlayer.getWorld().getName());
     
      double ratio = API.getRatio(targetPlayer, targetPlayer.getWorld().getName());
     
      ratio = Math.round(ratio * 100.0D) / 100.0D;
     
      player.sendMessage(ChatColor.DARK_GRAY + "=-=-= " + ChatColor.GOLD + targetPlayer.getName() + ChatColor.DARK_GRAY + " =-=-=");
      player.sendMessage(ChatColor.DARK_GRAY + "Kills: " + ChatColor.GOLD + lngKills + ChatColor.DARK_GRAY + "  Deaths: " + ChatColor.GOLD + lngDeaths);
      player.sendMessage(ChatColor.DARK_GRAY + "KillStreak: " + ChatColor.GOLD + lngKS + ChatColor.DARK_GRAY + "  Ratio: " + ChatColor.GOLD + ratio);
    }
     
    public void prunePlayers(Player player, String type)
    {
      String section = null;
     
      long playerCount = 0L;
     
      if (player.hasPermission("tncstats.admin"))
      {
        if (type == "kills")
        {
          if (API.seperateWorld(player.getWorld().getName()))
          {
            section = "Players." + player.getWorld().getName();
          }
          else
          {
            section = "Players";
          }
     
          ConfigurationSection users = this.playersFile.getConfigurationSection(section);
     
          Set<String> players = users.getKeys(false);
     
          for (String prune : players)
          {
            int x = users.getInt(prune + ".kills");
     
            if (x == 0)
            {
              users.set(prune.toString(), null);
     
              playerCount += 1L;
            }
     
          }
     
          player.sendMessage("§8[§6TNCstats§8] " + ChatColor.GREEN + playerCount + " players were removed!");
     
          if (this.logActions) {
            logInfo(player.getName(), "Pruned all players based on kills.");
          }
     
        }
        else if (type == "deaths")
        {
          if (API.seperateWorld(player.getWorld().getName()))
          {
            section = "Players." + player.getWorld().getName();
          }
          else
          {
            section = "Players";
          }
     
          ConfigurationSection users = this.playersFile.getConfigurationSection(section);
     
          Set<String> players = users.getKeys(false);
     
          for (String prune : players)
          {
            int x = users.getInt(prune + ".deaths");
     
            if (x == 0)
            {
              users.set(prune.toString(), null);
     
              playerCount += 1L;
            }
     
          }
     
          player.sendMessage("§8[§6TNCstats§8] " + ChatColor.GREEN + playerCount + " players were removed!");
        }
        else if (type == "inactive")
        {
          if (API.seperateWorld(player.getWorld().getName()))
          {
            section = "Players." + player.getWorld().getName();
          }
          else
          {
            section = "Players";
          }
     
          ConfigurationSection users = this.playersFile.getConfigurationSection(section);
     
          Set<String> players = users.getKeys(false);
     
          for (String prune : players)
          {
            int x = users.getInt(prune + ".deaths");
            int y = users.getInt(prune + ".kills");
     
            if ((x == 0) && (y == 0))
            {
              users.set(prune.toString(), null);
     
              playerCount += 1L;
            }
     
          }
     
          player.sendMessage("§8[§6TNCstats§8] " + ChatColor.GREEN + playerCount + " players were removed!");
        }
     
        logInfo(player.getName(), "Pruned all inactive players.");
     
        savePlayerYML();
      }
      else
      {
        player.sendMessage("§8[§6TNCstats§8] " + ChatColor.RED + "Sorry, you don't have permission to use this command");
      }
    }
     
        public void pluginHelp(Player player)
        {
            player.sendMessage(ChatColor.GOLD + "/stats " + ChatColor.DARK_GRAY + "View your personal KillStats.");
            player.sendMessage(ChatColor.GOLD + "/stats [PlayerName] " + ChatColor.DARK_GRAY + "View another players KillStats.");
            player.sendMessage(ChatColor.GOLD + "/stats top " + ChatColor.DARK_GRAY + "View the top players of the server.");
            player.sendMessage(ChatColor.GOLD + "/stats ? " + ChatColor.DARK_GRAY + "View information about the plugin.");
     
            if (player.hasPermission("tncstats.admin"))
            {
                player.sendMessage(ChatColor.GOLD + "/stats reload " + ChatColor.DARK_GRAY + "Reload the KillStats config and playerdata.");
                player.sendMessage(ChatColor.GOLD + "/stats prune [type] " + ChatColor.DARK_GRAY + "Prune players if they have 0 kills/deaths. Type = kills/deaths/inactive");
                player.sendMessage(ChatColor.GOLD + "/stats reset [PlayerName] " + ChatColor.DARK_GRAY + "Reset a players KillStats.");
            }
        }
     
     
    @SuppressWarnings({"rawtypes" })
    public void getRank(Player player)
    {
    Map<String, Object> scoreMap = new HashMap<String, Object>();
      List<String> finalScore = new ArrayList<String>();
      String section;
      if (API.seperateWorld(player.getWorld().getName()))
      {
        section = "Players." + player.getWorld().getName();
      }
      else
      {
        section = "Players";
      }
     
      ConfigurationSection score = this.playersFile.getConfigurationSection(section);
     
      for (String playerName : score.getKeys(false))
      {
        int kills = score.getInt(playerName + ".kills");
     
        scoreMap.put(playerName, Integer.valueOf(kills));
      }
     
      for (int i = 0; i < 5; i++)
      {
        String topName = "";
        int topScore = 0;
     
        for (String playerName : scoreMap.keySet() )
        {
          int myScore = ((Integer)scoreMap.get(playerName)).intValue();
     
          if (myScore > topScore)
          {
            topName = playerName;
            topScore = myScore;
          }
     
        }
     
        if (((String)topName).equals(""))
          break;
        scoreMap.remove(topName);
     
        int kills = score.getInt(topName + ".kills");
        int deaths = score.getInt(topName + ".deaths");
     
        int position = i + 1;
     
        String finalString = ChatColor.RED + "[" + position + "] " + ChatColor.GOLD + (String)topName + ChatColor.DARK_GRAY + " - " + ChatColor.GOLD + kills + ChatColor.DARK_GRAY + ":" + ChatColor.GOLD + deaths;
     
        finalScore.add(finalString);
      }
     
      this.myTop5 = finalScore;
     
      for (Object topName = this.myTop5.iterator(); ((Iterator)topName).hasNext(); ) { String blah = (String)((Iterator)topName).next();
     
        player.sendMessage(blah);
      }
    }
     
    public static ksAPI getAPI()
    {
      return API;
    }
     
    public void HandleBrokenStreak(Player victim, Player killer, int killStreak)
    {
      int min = getConfig().getInt("MinimumStreak");
     
      if (killStreak < min)
      {
        return;
      }
     
      String msg = getConfig().getString("BrokenStreakMessage");
     
      msg = msg.replaceAll("<killer>", killer.getName());
      msg = msg.replaceAll("<victim>", victim.getName());
      msg = msg.replaceAll("<streak>", Integer.toString(killStreak));
     
      for (Player p : getServer().getOnlinePlayers())
      {
        if (p.getWorld().getName().equalsIgnoreCase(killer.getWorld().getName()))
        {
          p.sendMessage(replaceColors(msg));
        }
      }
    }
     
    public void HandleBroadcast(Player victim, Player killer, int killStreak)
    {
      ConfigurationSection streaks = getConfig().getConfigurationSection("StreaksToBroadcast");
     
      for (String streak : streaks.getKeys(false))
      {
        int myStreak = Integer.parseInt(streak);
     
        if (myStreak == killStreak)
        {
          String blah = Integer.toString(myStreak);
     
          String msg = replaceColors(streaks.getString(blah));
     
          msg = msg.replaceAll("<player>", killer.getName());
          msg = msg.replaceAll("<streak>", Integer.toString(killStreak));
     
          for (Player p : getServer().getOnlinePlayers())
          {
            if (p.getWorld().getName().equalsIgnoreCase(killer.getWorld().getName()))
            {
              p.sendMessage(replaceColors(msg));
            }
          }
        }
      }
    }
     
    public void logInfo(String name, String message)
    {
      try
      {
        File file = new File(getDataFolder() + "/AdminLog.txt");
     
        if (!file.exists()) {
          file.createNewFile();
        }
     
        FileWriter fw = new FileWriter(file.getAbsoluteFile(), true);
     
        BufferedWriter bw = new BufferedWriter(fw);
     
        bw.append("[" + currentTime() + "] " + name + ": " + message);
     
        bw.newLine();
     
        bw.close();
      }
      catch (IOException e)
      {
        e.printStackTrace();
      }
    }
     
    public String currentTime()
    {
      DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy hh:mm a");
      Calendar cal = Calendar.getInstance();
      return dateFormat.format(cal.getTime());
    }
     
    @SuppressWarnings("deprecation")
    public void HandleRewards(Player player, Player victim, int currentStreak)
    {
      ConfigurationSection rewards = getConfig().getConfigurationSection("Rewards");
     
      String a = Integer.toString(currentStreak);
     
      ConfigurationSection items = getConfig().getConfigurationSection("Rewards." + a);
     
      for (String streak : rewards.getKeys(false))
      {
        int rewardStreak = Integer.parseInt(streak);
     
        if (rewardStreak == currentStreak)
        {
          if (getConfig().getBoolean("AlertPlayer"))
          {
            String msg = getConfig().getString("AlertPlayerMessage");
     
            msg = msg.replaceAll("<streak>", Integer.toString(currentStreak));
            msg = replaceColors(msg);
     
            player.sendMessage(msg);
          }
     
          for (String item : items.getKeys(false))
          {
            String info = items.getString(item);
     
            String[] data = info.split(";");
     
            if ((data[0].equalsIgnoreCase("command")) || (data[0].equalsIgnoreCase("cmd")))
            {
              String cmd = data[1].replaceAll("<player>", player.getName());
     
              cmd = cmd.replaceAll("<victim>", victim.getName());
     
              if (data[1].startsWith("/"))
              {
                cmd = cmd.replaceFirst("/", "");
     
                if (player.isOp())
                {
                  player.performCommand(cmd);
                }
                else
                {
                  player.setOp(true);
     
                  player.performCommand(cmd);
     
                  player.setOp(false);
                }
     
              }
              else if (player.isOp())
              {
                player.performCommand(cmd);
              }
              else
              {
                player.setOp(true);
     
                player.performCommand(cmd);
     
                player.setOp(false);
              }
     
            }
            else if (data[0].contains(":"))
            {
              String[] extra = data[0].split(":");
              try
              {
                ItemStack reward = new ItemStack(Integer.parseInt(extra[0]), Integer.parseInt(data[1]), (short)Integer.parseInt(extra[1]));
     
                if (player.getInventory().firstEmpty() == -1)
                {
                  player.getWorld().dropItem(player.getLocation(), reward);
                  player.sendMessage("§8[§6TNCstats§8] " + ChatColor.RED + "Not enough room in your inventory for your reward! It has been dropped on the ground.");
                }
                else
                {
                  player.getInventory().addItem(new ItemStack[] { reward });
                  player.updateInventory();
                }
     
              }
              catch (Exception localException)
              {
              }
     
            }
     
            try
            {
              ItemStack reward = new ItemStack(Integer.parseInt(data[0]), Integer.parseInt(data[1]));
     
              if (player.getInventory().firstEmpty() == -1)
              {
                player.getWorld().dropItem(player.getLocation(), reward);
                player.sendMessage("§8[§6TNCstats§8] " + ChatColor.RED + "Not enough room in your inventory for your reward! It has been dropped on the ground.");
              }
              else
              {
                player.getInventory().addItem(new ItemStack[] { reward });
                player.updateInventory();
              }
            }
            catch (Exception localException1)
            {
            }
          }
        }
      }
    }
     
    public void DropHead(Player player)
    {
      ItemStack i = new ItemStack(Material.SKULL_ITEM, 1, (short)3);
     
      SkullMeta meta = (SkullMeta)i.getItemMeta();
     
      meta.setOwner(player.getName());
     
      i.setItemMeta(meta);
     
      player.getWorld().dropItem(player.getLocation(), i);
    }
     
    public boolean worldDisabled(World world)
    {
      return this.disabledWorlds.contains(world.getName().toLowerCase());
    }
     
    public boolean isBoosting(Player attacker, Player victim)
    {
      String a = attacker.getName();
      String v = victim.getName();
     
      int MaxKilling = getConfig().getInt("MaxKilling");
     
      int x = 0;
     
      for (String blah : this.deadList)
      {
        if (blah.equalsIgnoreCase(a + ":" + v))
        {
          x++;
        }
     
      }
     
      if (x == MaxKilling)
      {
        return true;
      }
     
      return false;
    }
     
    }
    
     
  2. You should check out chasechocolate 's Scoreboard Tutorial. It's easy to use.

    If you want to do an individual scoreboard, I recommend you do it like this:
    Code:java
    1. @EventHandler
    2. public void onJoin(PlayerJoinEvent event) {
    3. event.getPlayer().setScoreboard(Bukkit.getScoreboardManager().getNewScoreboard());
    4. Objective o = player.getScoreboard().registerNewObjective("scores", "dummy"); o.setDisplaySlot(DisplaySlot.SIDEBAR);
    5. Score score=o.getScore(Bukkit.getOfflinePlayer(ChatColor.GREEN + "Kills: "));
    6. score.setScore(1);
    7. }
     
  3. Offline

    Doodledew

    Thanks Burn! :)
     
  4. Offline

    CraftBang

    Last edited by a moderator: Jun 4, 2016
Thread Status:
Not open for further replies.

Share This Page