public void addGuild(Guild to) {
   if (to == null) return;
   Scoreboard scoreboard = getUser().getScoreboard();
   Guild guild = getUser().getGuild();
   if (guild != null) {
     if (guild.equals(to)) {
       initialize();
       return;
     }
     Team team = scoreboard.getTeam(to.getTag());
     if (team == null) team = scoreboard.registerNewTeam(to.getTag());
     for (User u : to.getMembers()) {
       OfflineUser player = new OfflineUser(u.getName());
       if (!team.hasPlayer(player)) team.addPlayer(player);
     }
     String prefix = Settings.getInstance().prefixOther;
     if (guild.getAllies().contains(to)) prefix = Settings.getInstance().prefixAllies;
     if (guild.getEnemies().contains(to)) prefix = Settings.getInstance().prefixEnemies;
     prefix = prefix.replace("{TAG}", to.getTag());
     if (prefix.length() > 16) prefix = prefix.substring(0, 16);
     team.setPrefix(prefix);
   } else {
     Team team = scoreboard.getTeam(to.getTag());
     if (team == null) team = scoreboard.registerNewTeam(to.getTag());
     for (User u : to.getMembers()) {
       OfflineUser player = new OfflineUser(u.getName());
       if (!team.hasPlayer(player)) team.addPlayer(player);
     }
     team.setPrefix(replace(Settings.getInstance().prefixOther, "{TAG}", to.getTag()));
   }
 }
 private void initialize() {
   if (getUser() == null) return;
   List<Guild> guilds = GuildUtils.getGuilds();
   Scoreboard scoreboard = getUser().getScoreboard();
   Guild guild = getUser().getGuild();
   if (guild != null) {
     guilds.remove(guild);
     Settings config = Settings.getInstance();
     String our = config.prefixOur;
     String ally = config.prefixAllies;
     String enemy = config.prefixEnemies;
     String other = config.prefixOther;
     Team team = scoreboard.getTeam(guild.getTag());
     if (team == null) team = scoreboard.registerNewTeam(guild.getTag());
     for (User u : guild.getMembers()) {
       if (u.getName() == null) continue;
       OfflineUser player = new OfflineUser(u.getName());
       if (!team.hasPlayer(player)) team.addPlayer(player);
     }
     team.setPrefix(replace(our, "{TAG}", guild.getTag()));
     for (Guild one : guilds) {
       if (one == null || one.getTag() == null) continue;
       team = scoreboard.getTeam(one.getTag());
       if (team == null) team = scoreboard.registerNewTeam(one.getTag());
       for (User u : one.getMembers()) {
         if (u.getName() == null) continue;
         OfflineUser player = new OfflineUser(u.getName());
         if (!team.hasPlayer(player)) team.addPlayer(player);
       }
       if (guild.getAllies().contains(one)) team.setPrefix(replace(ally, "{TAG}", one.getTag()));
       else if (guild.getEnemies().contains(one))
         team.setPrefix(replace(enemy, "{TAG}", one.getTag()));
       else team.setPrefix(replace(other, "{TAG}", one.getTag()));
     }
   } else {
     String other = Settings.getInstance().prefixOther;
     for (Guild one : guilds) {
       if (one == null || one.getTag() == null) continue;
       Team team = scoreboard.getTeam(one.getTag());
       if (team == null) team = scoreboard.registerNewTeam(one.getTag());
       for (User u : one.getMembers()) {
         if (u.getName() == null) continue;
         OfflineUser player = new OfflineUser(u.getName());
         if (!team.hasPlayer(player)) team.addPlayer(player);
       }
       team.setPrefix(replace(other, "{TAG}", one.getTag()));
     }
   }
 }
Esempio n. 3
0
  @EventHandler
  public void onPlayerJoin(PlayerJoinEvent e) {
    FileConfiguration locationsFile =
        YamlConfiguration.loadConfiguration(Main.getInstance().locations);

    Player p = e.getPlayer();
    SPlayer player = new SPlayer(p);

    int blue = Team.BLUE.getPlayers().size();
    int red = Team.RED.getPlayers().size();

    p.teleport(locationUtil.deserializeLoc(locationsFile.getString("arena.lobby")));
    gameManager.setCarrying(p, 0);

    Scoreboard sb = Bukkit.getScoreboardManager().getNewScoreboard();
    org.bukkit.scoreboard.Team r = sb.registerNewTeam("red");
    r.setPrefix(Color.np("&c"));
    org.bukkit.scoreboard.Team b = sb.registerNewTeam("blue");
    b.setPrefix(Color.np("&b"));
    for (Player online : Bukkit.getOnlinePlayers()) {
      Team team = teamManager.getTeam(online);
      if (team == Team.BLUE) {
        b.addEntry(online.getName());
      } else {
        r.addEntry(online.getName());
      }
    }

    p.setScoreboard(sb);

    e.setJoinMessage(null);

    if (blue <= red) {
      player.setTeam(Team.BLUE);
    } else {
      player.setTeam(Team.RED);
    }
  }
  private void colorPlayer(Player player, ChatColor color) {
    uncolorPlayer(player);

    playerColors.put(player.getUniqueId(), color);

    player.setDisplayName(color + player.getName() + ChatColor.RESET);

    Team team = scoreboard.registerNewTeam(player.getName());
    team.setDisplayName(player.getName());
    team.setPrefix(color.toString());
    team.setSuffix(ChatColor.RESET.toString());
    team.addEntry(player.getName());
    player.setScoreboard(scoreboard);
  }
Esempio n. 5
0
  public void initConfig() {

    List<String> bw = getConfig().getStringList("blacklist");
    for (String s : bw) {
      bw.add(s.toLowerCase());
    }

    scoreboard = Bukkit.getScoreboardManager().getNewScoreboard();
    this.saveDefaultConfig();
    List<String> ls = getConfig().getStringList("ranks");
    for (String s : ls) {
      assignedTeams.put(getConfig().getString("rank." + s + ".permission"), s);
      Team t = scoreboard.registerNewTeam("player" + getConfig().getString("rank." + s + ".order"));
      if (getConfig().getString("rank." + s + ".prefix") != null) {
        t.setPrefix(
            ChatColor.translateAlternateColorCodes(
                '&', getConfig().getString("rank." + s + ".prefix")));
      }
      if (getConfig().getString("rank." + s + ".suffix") != null) {
        t.setSuffix(
            ChatColor.translateAlternateColorCodes(
                '&', getConfig().getString("rank." + s + ".suffix")));
      }
    }

    Bukkit.getScheduler()
        .runTaskAsynchronously(
            this,
            new Runnable() {
              public void run() {
                while (whileloop == true) {
                  for (Player p : Bukkit.getOnlinePlayers()) {
                    if (!blacklistedworlds.contains(p.getWorld().getName().toLowerCase())) {
                      p.setScoreboard(scoreboard);
                    }
                  }

                  try {
                    Thread.sleep(5000);
                  } catch (InterruptedException e) {
                    e.printStackTrace();
                  }
                }
              }
            });
  }
Esempio n. 6
0
  @Override
  public void onEnable() {
    setup = new ConfigAccessor(this, "setup");
    toggles = new ConfigAccessor(this, "toggles");

    setup.saveDefaultConfig();
    toggles.saveDefaultConfig();

    compass = toggles.getConfig().getBoolean("compass", true);
    clock = toggles.getConfig().getBoolean("arenaclock", true);
    specchat = toggles.getConfig().getBoolean("specchat", true);
    scoreboard = toggles.getConfig().getBoolean("colouredtablist", true);
    output = toggles.getConfig().getBoolean("outputmessages", true);
    death = toggles.getConfig().getBoolean("deathspec", false);

    console = getServer().getConsoleSender();
    if (scoreboard) {
      manager = Bukkit.getScoreboardManager();
      board = manager.getNewScoreboard();
      team = board.registerNewTeam("spec");
      team.setPrefix(
          ChatColor.DARK_GRAY
              + "["
              + ChatColor.GRAY
              + "Spec"
              + ChatColor.DARK_GRAY
              + "] "
              + ChatColor.GRAY);
    }

    for (Player player : getServer().getOnlinePlayers()) {
      user.put(player.getName(), new PlayerObject());
    }
    getServer().getPluginManager().registerEvents(new SpectateListener(this), this);
    if (output) {
      console.sendMessage(
          prefix + "Version " + ChatColor.RED + "1.8" + ChatColor.GOLD + " is enabled!");
    }
    this.getCommand("spectate").setExecutor(commands);
    this.getCommand("spec").setExecutor(commands);
  }