Ir para conteúdo
  • 0

Como atualizar scoreboard


yLR111

Pergunta

13 respostass a esta questão

Posts Recomendados


public class Main extends JavaPlugin implements Listener {

 

public static Economy econ = null;

 

public boolean setupEconomy() {

RegisteredServiceProvider<Economy> ec = getServer().getServicesManager().getRegistration(Economy.class);

if (ec != null) {

econ = (Economy) ec.getProvider();

}

return econ != null;

}

 

public void onEnable() {

getServer().getPluginManager().registerEvents(this, this);

setupEconomy();

 

new BukkitRunnable() {

 

@Override

public void run() {

for (Player p : Bukkit.getOnlinePlayers()){

Scoreboard sb = p.getScoreboard();

if (sb.getTeam("coins") != null){

Team t = sb.getTeam("coins");

long coins = (long) econ.getBalance(p);

t.setSuffix(NumberFormat.getInstance().format(coins));

}

}

 

}

}.runTaskTimerAsynchronously(this, 0, 20L);

 

}

 

public void setScore(Player p) {

long coins = (long) econ.getBalance(p);

Scoreboard board = Bukkit.getScoreboardManager().getNewScoreboard();

Objective objetivo = board.registerNewObjective("test", "dummy");

objetivo.setDisplaySlot(DisplaySlot.SIDEBAR);

objetivo.setDisplayName("§4Titulo");

Team money = board.registerNewTeam("coins");

OfflinePlayer off = Bukkit.getOfflinePlayer(" §aCoins: §f");

money.addPlayer(off);

money.setSuffix(NumberFormat.getInstance().format(coins));

objetivo.getScore(off.getName()).setScore(1);

p.setScoreboard(board);

 

 

}

 

@EventHandler

public void onJoin(PlayerJoinEvent e) {

Player p = e.getPlayer();

setScore(p);

}

}

Link para o comentário
Compartilhar em outros sites


public static void run() {

new BukkitRunnable() {

public void run() {

for (Player p : Bukkit.getOnlinePlayers())

setScore(p);

}

 

}.runTaskTimer(this, 0, 3);

}

 

Editado por Hard
Link para o comentário
Compartilhar em outros sites

public class Main extends JavaPlugin implements Listener {
	 
    public static Economy econ = null;
 
    public boolean setupEconomy() {
        RegisteredServiceProvider<Economy> ec = getServer().getServicesManager().getRegistration(Economy.class);
        if (ec != null) {
            econ = (Economy) ec.getProvider();
        }
        return econ != null;
    }
 
    public void onEnable() {
        getServer().getPluginManager().registerEvents(this, this);
        setupEconomy();
        
        new BukkitRunnable() {
			
			@Override
			public void run() {
				for (Player p : Bukkit.getOnlinePlayers()){
					Scoreboard sb = p.getScoreboard();
					if (sb.getTeam("coins") != null){
						Team t = sb.getTeam("coins");
						long coins = (long) econ.getBalance(p);
						t.setSuffix(NumberFormat.getInstance().format(coins));
					}
				}
				
			}
		}.runTaskTimerAsynchronously(this, 0, 20L);
        
    }
 
      public void setScore(Player p) {
        long coins = (long) econ.getBalance(p);
        Scoreboard board = Bukkit.getScoreboardManager().getNewScoreboard();
        Objective objetivo = board.registerNewObjective("test", "dummy");
        objetivo.setDisplaySlot(DisplaySlot.SIDEBAR);
        objetivo.setDisplayName("§4Titulo");
        Team money = board.registerNewTeam("coins");
        OfflinePlayer off = Bukkit.getOfflinePlayer("    §aCoins: §f");
        money.addPlayer(off);
        money.setSuffix(NumberFormat.getInstance().format(coins));
        objetivo.getScore(off.getName()).setScore(1);
        p.setScoreboard(board);
       
 
}
 
    @EventHandler
    public void onJoin(PlayerJoinEvent e) {
        Player p = e.getPlayer();
        setScore(p);
    }
}

Vlw, outra coisa tem como deixar os "." por ","?

Link para o comentário
Compartilhar em outros sites

Vlw, outra coisa tem como deixar os "." por ","?

public class Main extends JavaPlugin implements Listener {

	public static Economy econ = null;

	public boolean setupEconomy() {
		RegisteredServiceProvider<Economy> ec = getServer().getServicesManager().getRegistration(Economy.class);
		if (ec != null) {
			econ = (Economy) ec.getProvider();
		}
		return econ != null;
	}

	public void onEnable() {
		getServer().getPluginManager().registerEvents(this, this);
		setupEconomy();

		new BukkitRunnable() {

			@Override
			public void run() {
				for (Player p : Bukkit.getOnlinePlayers()) {
					Scoreboard sb = p.getScoreboard();
					if (sb.getTeam("coins") != null) {
						Team t = sb.getTeam("coins");
						t.setSuffix(getMoney(p));
					}
				}

			}
		}.runTaskTimerAsynchronously(this, 0, 20L);

	}

	public void setScore(Player p) {
		Scoreboard board = Bukkit.getScoreboardManager().getNewScoreboard();
		Objective objetivo = board.registerNewObjective("test", "dummy");
		objetivo.setDisplaySlot(DisplaySlot.SIDEBAR);
		objetivo.setDisplayName("§4Titulo");
		Team money = board.registerNewTeam("coins");
		OfflinePlayer off = Bukkit.getOfflinePlayer("    §aCoins: §f");
		money.addPlayer(off);
		money.setSuffix(getMoney(p));
		objetivo.getScore(off.getName()).setScore(1);
		p.setScoreboard(board);

	}

	private String getMoney(Player p) {
		DecimalFormat numberFormat = new DecimalFormat("###,###.##");
		String d = numberFormat.format(econ.getBalance(p));
		if (d.equalsIgnoreCase(".00")) {
			d = "0.0";
		}
		return d;
	}

	@EventHandler
	public void onJoin(PlayerJoinEvent e) {
		Player p = e.getPlayer();
		setScore(p);
	}
}
Link para o comentário
Compartilhar em outros sites

public class Main extends JavaPlugin implements Listener {

	public static Economy econ = null;

	public boolean setupEconomy() {
		RegisteredServiceProvider<Economy> ec = getServer().getServicesManager().getRegistration(Economy.class);
		if (ec != null) {
			econ = (Economy) ec.getProvider();
		}
		return econ != null;
	}

	public void onEnable() {
		getServer().getPluginManager().registerEvents(this, this);
		setupEconomy();

		new BukkitRunnable() {

			@Override
			public void run() {
				for (Player p : Bukkit.getOnlinePlayers()) {
					Scoreboard sb = p.getScoreboard();
					if (sb.getTeam("coins") != null) {
						Team t = sb.getTeam("coins");
						t.setSuffix(getMoney(p));
					}
				}

			}
		}.runTaskTimerAsynchronously(this, 0, 20L);

	}

	public void setScore(Player p) {
		Scoreboard board = Bukkit.getScoreboardManager().getNewScoreboard();
		Objective objetivo = board.registerNewObjective("test", "dummy");
		objetivo.setDisplaySlot(DisplaySlot.SIDEBAR);
		objetivo.setDisplayName("§4Titulo");
		Team money = board.registerNewTeam("coins");
		OfflinePlayer off = Bukkit.getOfflinePlayer("    §aCoins: §f");
		money.addPlayer(off);
		money.setSuffix(getMoney(p));
		objetivo.getScore(off.getName()).setScore(1);
		p.setScoreboard(board);

	}

	private String getMoney(Player p) {
		DecimalFormat numberFormat = new DecimalFormat("###,###.##");
		String d = numberFormat.format(econ.getBalance(p));
		if (d.equalsIgnoreCase(".00")) {
			d = "0.0";
		}
		return d;
	}

	@EventHandler
	public void onJoin(PlayerJoinEvent e) {
		Player p = e.getPlayer();
		setScore(p);
	}
}

Não funcionou, precisa de alguma dependencia?

Link para o comentário
Compartilhar em outros sites

Nenhum erro, tipo coloquei tudo la, salvei o plugin fui testar continua com "."

Giva uma quantidade alta de coins, se quiser que fique somente com "."

Altere a linha "DecimalFormat numberFormat = new DecimalFormat("###,###.##");" para "DecimalFormat numberFormat = new DecimalFormat("###,###,##");"
Link para o comentário
Compartilhar em outros sites

private String getMoney(Player p) {
		DecimalFormat numberFormat = new DecimalFormat("###,###.##");
		String d = numberFormat.format(econ.getBalance(p));
		if (d.equalsIgnoreCase(".00")) {
			d = "0.0";
		}
		return d.replace(".", ",");
	}

Muito Obrigado

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...