Fala galera
Bom, hj eu estou aqui trazendo uma Lib bem simples pra quem gosta de fazer scoreboard mas faz flickando D:
Aqui esta ela:
package braayy.testes;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Scoreboard;
import org.bukkit.scoreboard.Team;
public class CustomScoreboard {
private Scoreboard score;
private Objective obj;
public CustomScoreboard(String title) {
this.score = Bukkit.getScoreboardManager().getNewScoreboard();
this.obj = score.registerNewObjective("score", "dummy");
obj.setDisplayName(title);
obj.setDisplaySlot(DisplaySlot.SIDEBAR);
}
public String getTitle() {
return obj.getDisplayName();
}
public CustomScoreboard addLine(int line, String value) {
obj.getScore(value).setScore(line);
return this;
}
public CustomScoreboard addLine(int line, String prefix, String suffix) {
Team team = getLine(line);
if (team == null) team = score.registerNewTeam("Line" + line);
team.addEntry(prefix);
team.setSuffix(suffix);
obj.getScore(prefix).setScore(line);
return this;
}
public CustomScoreboard sendTo(Player p) {
p.setScoreboard(score);
return this;
}
public Team getLine(int line) {
return score.getTeam("Line" + line);
}
public Objective getObjective() {
return obj;
}
public Scoreboard getScoreboard() {
return score;
}
public CustomScoreboard update(int line, String suffix) {
Team team = getLine(line);
if (team == null) return this;
team.setSuffix(suffix);
return this;
}
}
Bom, como eu fiz essa lib com a minha lógica kk
Nada mais justo do que eu mostrar um exemplo de uso:
package braayy.testes;
import java.util.HashMap;
import org.bukkit.event.EventHandler;
import org.bukkit.event.HandlerList;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin implements Listener {
private HashMap<String, CustomScoreboard> score = new HashMap<>();
private HashMap<String, Integer> passos = new HashMap<>();
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(this, this);
saveDefaultConfig();
}
@Override
public void onDisable() {
HandlerList.unregisterAll((JavaPlugin) this);
}
@EventHandler
public void onJoin(PlayerJoinEvent e) {
String name = e.getPlayer().getName().toLowerCase();
score.put(name, new CustomScoreboard("§aBraayyScore")
.addLine(15, "")
.addLine(14, "§7Passos: ", "0")
.sendTo(e.getPlayer()));
}
@EventHandler
public void aoMove(PlayerMoveEvent e) {
String name = e.getPlayer().getName().toLowerCase();
if (!score.containsKey(name)) return;
if (!passos.containsKey(name)) {
passos.put(name, 1);
score.get(name).update(14, "1");
return;
}
int p = passos.get(name).intValue();
p++;
passos.put(name, p);
score.get(name).update(14, String.valueOf(p));
}
}
Bom, espero que voces gostem
Se gosto da UP