не знаете как сделать чтобы scoreboard обновлялся без перезахода на сервер?
я просто сделал скорборд в котором показывает валюту , ранг, онлайн.
И когда я добавляю например себе 500 золота, то чтобы они добавились в scoreboard, нужно перезайти
Если что вот код.
package zendex.scoreboard;
import java.util.logging.Logger;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Scoreboard;
import org.bukkit.scoreboard.Team;
import net.luckperms.api.LuckPerms;
import net.milkbowl.vault.economy.Economy;
import net.milkbowl.vault.permission.Permission;
public class scoreboard extends JavaPlugin implements Listener{
private static final Logger log = Logger.getLogger("Minecraft");
public static Plugin main;
public static Permission getPermissions() {
return perms;
}
private static Permission perms = null;
private static Economy econ = null;
Team team;
@Override
public void onDisable() {
log.info(String.format("[%s] Disabled Version %s", getDescription().getName(), getDescription().getVersion()));
}
@Override
public void onEnable() {
main = this;
RegisteredServiceProvider<LuckPerms> provider = Bukkit.getServicesManager().getRegistration(LuckPerms.class);
if (provider != null) {
LuckPerms api = provider.getProvider();
Bukkit.getPluginManager().registerEvents(this, this);
if(!setupEconomy()) {
log.severe(String.format("[%s] - Disabled due to no Vault dependency found!", getDescription().getName()));
getServer().getPluginManager().disablePlugin(this);
return;
}
setupPermissions();
}
}
private boolean setupEconomy() {
if (getServer().getPluginManager().getPlugin("Vault") == null) {
return false;
}
RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
if (rsp == null) {
return false;
}
econ = rsp.getProvider();
return econ != null;
}
private boolean setupPermissions() {
RegisteredServiceProvider<Permission> rsp = getServer().getServicesManager().getRegistration(Permission.class);
perms = rsp.getProvider();
return perms != null;
}
@EventHandler
public void j(PlayerJoinEvent e) {
Scoreboard newScoreboard = Bukkit.getScoreboardManager().getNewScoreboard();
Objective o = newScoreboard.registerNewObjective("stats", "dummy");
Player p = e.getPlayer();
o.setDisplayName("");
o.setDisplaySlot(DisplaySlot.SIDEBAR);
o.getScore("§7").setScore(11);
o.getScore("§fТвоё имя: §5" + p.getName()).setScore(10);
o.getScore("§fТвой ранг: §5" + perms.getPrimaryGroup(p)).setScore(9);
o.getScore("§3").setScore(8);
o.getScore("§fЗолота: §c" + econ.getBalance(p)).setScore(7);
o.getScore("§fТвой уровень: §c25").setScore(6);
o.getScore("§4").setScore(5);
o.getScore("§fОнлайн в хабе: §c" + Bukkit.getOnlinePlayers().size()).setScore(4);
o.getScore("§fСтатистика: §c/stats").setScore(3);
o.getScore("§2").setScore(2);
o.getScore("§9store.zendex.su").setScore(1);
e.getPlayer().setScoreboard(newScoreboard);
new Anim(p, o);
}
private void updateScoreboard(Player p) {
Scoreboard s = p.getScoreboard();
for (String e : s.getEntries()) {
s.resetScores(e);
}
Objective o = s.getObjective("stats");
o.getScore("§7").setScore(11);
o.getScore("§fТвоё имя: §5" + p.getName()).setScore(10);
o.getScore("§fТвой ранг: §5" + perms.getPrimaryGroup(p)).setScore(9);
o.getScore("§3").setScore(8);
o.getScore("§fЗолота: §c" + econ.getBalance(p)).setScore(7);
o.getScore("§fТвой уровень: §c25").setScore(6);
o.getScore("§4").setScore(5);
o.getScore("§fОнлайн на анархии: §c" + Bukkit.getOnlinePlayers().size()).setScore(4);
o.getScore("§fСтатистика: §c/stats").setScore(3);
o.getScore("§2").setScore(2);
o.getScore("§9store.zendex.su").setScore(1);
}
}
я просто сделал скорборд в котором показывает валюту , ранг, онлайн.
И когда я добавляю например себе 500 золота, то чтобы они добавились в scoreboard, нужно перезайти
Если что вот код.
package zendex.scoreboard;
import java.util.logging.Logger;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Scoreboard;
import org.bukkit.scoreboard.Team;
import net.luckperms.api.LuckPerms;
import net.milkbowl.vault.economy.Economy;
import net.milkbowl.vault.permission.Permission;
public class scoreboard extends JavaPlugin implements Listener{
private static final Logger log = Logger.getLogger("Minecraft");
public static Plugin main;
public static Permission getPermissions() {
return perms;
}
private static Permission perms = null;
private static Economy econ = null;
Team team;
@Override
public void onDisable() {
log.info(String.format("[%s] Disabled Version %s", getDescription().getName(), getDescription().getVersion()));
}
@Override
public void onEnable() {
main = this;
RegisteredServiceProvider<LuckPerms> provider = Bukkit.getServicesManager().getRegistration(LuckPerms.class);
if (provider != null) {
LuckPerms api = provider.getProvider();
Bukkit.getPluginManager().registerEvents(this, this);
if(!setupEconomy()) {
log.severe(String.format("[%s] - Disabled due to no Vault dependency found!", getDescription().getName()));
getServer().getPluginManager().disablePlugin(this);
return;
}
setupPermissions();
}
}
private boolean setupEconomy() {
if (getServer().getPluginManager().getPlugin("Vault") == null) {
return false;
}
RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
if (rsp == null) {
return false;
}
econ = rsp.getProvider();
return econ != null;
}
private boolean setupPermissions() {
RegisteredServiceProvider<Permission> rsp = getServer().getServicesManager().getRegistration(Permission.class);
perms = rsp.getProvider();
return perms != null;
}
@EventHandler
public void j(PlayerJoinEvent e) {
Scoreboard newScoreboard = Bukkit.getScoreboardManager().getNewScoreboard();
Objective o = newScoreboard.registerNewObjective("stats", "dummy");
Player p = e.getPlayer();
o.setDisplayName("");
o.setDisplaySlot(DisplaySlot.SIDEBAR);
o.getScore("§7").setScore(11);
o.getScore("§fТвоё имя: §5" + p.getName()).setScore(10);
o.getScore("§fТвой ранг: §5" + perms.getPrimaryGroup(p)).setScore(9);
o.getScore("§3").setScore(8);
o.getScore("§fЗолота: §c" + econ.getBalance(p)).setScore(7);
o.getScore("§fТвой уровень: §c25").setScore(6);
o.getScore("§4").setScore(5);
o.getScore("§fОнлайн в хабе: §c" + Bukkit.getOnlinePlayers().size()).setScore(4);
o.getScore("§fСтатистика: §c/stats").setScore(3);
o.getScore("§2").setScore(2);
o.getScore("§9store.zendex.su").setScore(1);
e.getPlayer().setScoreboard(newScoreboard);
new Anim(p, o);
}
private void updateScoreboard(Player p) {
Scoreboard s = p.getScoreboard();
for (String e : s.getEntries()) {
s.resetScores(e);
}
Objective o = s.getObjective("stats");
o.getScore("§7").setScore(11);
o.getScore("§fТвоё имя: §5" + p.getName()).setScore(10);
o.getScore("§fТвой ранг: §5" + perms.getPrimaryGroup(p)).setScore(9);
o.getScore("§3").setScore(8);
o.getScore("§fЗолота: §c" + econ.getBalance(p)).setScore(7);
o.getScore("§fТвой уровень: §c25").setScore(6);
o.getScore("§4").setScore(5);
o.getScore("§fОнлайн на анархии: §c" + Bukkit.getOnlinePlayers().size()).setScore(4);
o.getScore("§fСтатистика: §c/stats").setScore(3);
o.getScore("§2").setScore(2);
o.getScore("§9store.zendex.su").setScore(1);
}
}