Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.KebabCoder.Listeners;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.entity.PlayerDeathEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerQuitEvent;
- import org.bukkit.scoreboard.DisplaySlot;
- import org.bukkit.scoreboard.Objective;
- import org.bukkit.scoreboard.Score;
- import org.bukkit.scoreboard.Scoreboard;
- import org.bukkit.scoreboard.ScoreboardManager;
- import me.KebabCoder.Utilities.ConfigManager;
- import me.KebabCoder.Utilities.Utils;
- import ru.tehkode.permissions.PermissionUser;
- import ru.tehkode.permissions.bukkit.PermissionsEx;
- public class ScoreboardListener implements Listener {
- private static ConfigManager cfgm;
- public static void giveScoreboard(Player p) {
- PermissionUser user = PermissionsEx.getUser(p);
- cfgm = new ConfigManager();
- cfgm.setupStatsConfig();
- int kills = cfgm.getStats().getInt(p.getUniqueId() + ".Kills");
- int deaths = cfgm.getStats().getInt(p.getUniqueId() + ".Deaths");
- ScoreboardManager m = Bukkit.getScoreboardManager();
- Scoreboard b = m.getNewScoreboard();
- Objective o = b.registerNewObjective("wePvP", "dummy");
- o.setDisplaySlot(DisplaySlot.SIDEBAR);
- o.setDisplayName(Utils.Color(" &2&lGTAM "));
- int score = 15;
- Score space = o.getScore(Utils.Color("&1 "));
- space.setScore(15);
- score = score - 1;
- Score line = o.getScore(Utils.Color("&1&7&l&m-------------------"));
- line.setScore(score);
- score = score - 1;
- Score space2 = o.getScore(Utils.Color("&2 "));
- space2.setScore(score);
- score = score - 1;
- Score personal = o.getScore(Utils.Color("&6&lPERSONAL&8&l>"));
- personal.setScore(score);
- score = score - 1;
- Score name = o.getScore(Utils.Color("&8» &eName&7: &f" + p.getName()));
- name.setScore(score);
- score = score - 1;
- Score rank = o.getScore(Utils.Color("&8» &eRank&7: &f" + ChatColor.stripColor(user.getPrefix())));
- rank.setScore(score);
- score = score - 1;
- Score playerKills = o.getScore(Utils.Color("&8» &eKills&7: &f" + kills));
- playerKills.setScore(score);
- score = score - 1;
- Score playerDeaths = o.getScore(Utils.Color("&8» &eDeaths&7: &f" + deaths));
- playerDeaths.setScore(score);
- score = score - 1;
- Score space3 = o.getScore(Utils.Color("&3 "));
- space3.setScore(score);
- score = score - 1;
- Score server = o.getScore(Utils.Color("&6&lSERVER&8&l>"));
- server.setScore(score);
- score = score - 1;
- Score online = o.getScore(Utils.Color("&8» &eOnline&7: &f" + Bukkit.getServer().getOnlinePlayers().size()));
- online.setScore(score);
- score = score - 1;
- Score space4 = o.getScore(Utils.Color("&4 "));
- space4.setScore(score);
- score = score - 1;
- Score line2 = o.getScore(Utils.Color("&2&7&l&m-------------------"));
- line2.setScore(score);
- p.setScoreboard(b);
- }
- public static void removeScoreboard(Player p) {
- ScoreboardManager m = Bukkit.getScoreboardManager();
- Scoreboard b = m.getNewScoreboard();
- Objective o = b.registerNewObjective("noBoard", "dummy");
- o.setDisplaySlot(DisplaySlot.SIDEBAR);
- o.setDisplayName(" ");
- p.setScoreboard(b);
- }
- @EventHandler
- public void onJoin(PlayerJoinEvent e) {
- cfgm = new ConfigManager();
- cfgm.setupStatsConfig();
- for(Player all : Bukkit.getOnlinePlayers()) {
- if(cfgm.getStats().getBoolean(all.getUniqueId() + ".Scoreboard")) {
- giveScoreboard(all);
- }
- }
- }
- @EventHandler
- public void onQuit(PlayerQuitEvent e) {
- cfgm = new ConfigManager();
- cfgm.setupStatsConfig();
- for(Player all : Bukkit.getOnlinePlayers()) {
- if(cfgm.getStats().getBoolean(all.getUniqueId() + ".Scoreboard")) {
- giveScoreboard(all);
- }
- }
- }
- @EventHandler
- public void onDie(PlayerDeathEvent e) {
- cfgm = new ConfigManager();
- cfgm.setupStatsConfig();
- Player p = e.getEntity();
- Player k = p.getKiller();
- int kills = cfgm.getStats().getInt(k.getUniqueId() + ".Kills");
- int deaths = cfgm.getStats().getInt(p.getUniqueId() + ".Deaths");
- if(e.getDeathMessage().equalsIgnoreCase(p.getName() + "fell from a high place")) {
- e.setDeathMessage(Utils.Color("&c" + p.getName() + "&7 fell from a high place."));
- }
- if(e.getDeathMessage().contains("slain")) {
- e.setDeathMessage(Utils.Color("&c" + p.getName() + "&7 was slain by &c" + k.getName() + "&7."));
- }
- cfgm.getStats().set(p.getUniqueId() + ".Deaths", deaths + 1);
- if(k != null) {
- cfgm.getStats().set(k.getUniqueId() + ".Kills", kills + 1);
- }
- cfgm.saveStats();
- if(cfgm.getStats().getBoolean(p.getUniqueId() + ".Scoreboard")) {
- giveScoreboard(p);
- }
- if(cfgm.getStats().getBoolean(k.getUniqueId() + ".Scoreboard") && k != null) {
- giveScoreboard(k);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement