- Баллы
- 76
- Имя в Minecraft
- Kurumi
Всем привет. Я сделал простенький scoreboard на котором отображается привилегия игрока и кол-во денег у него на счету. Я задался вопросом, как сделать для каждого свой scoreboard? Если я захожу на сервер у меня один префикс, я завожу на сервер твинка с другим префиксом, и у первого игрока меняется старый префикс, на префикс твинка.
Говнокод:
Говнокод:
Код:
package Lemar98.me.ts;
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.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.ChatColor;
import net.milkbowl.vault.economy.Economy;
import ru.tehkode.permissions.PermissionUser;
import ru.tehkode.permissions.bukkit.PermissionsEx;
public class Main extends JavaPlugin implements Listener
{
String version = "1.0";
String author = "Lemar98";
Scoreboard board;
Objective obj;
private static final Logger log = Logger.getLogger("Minecraft");
private static Economy econ = null;
public void onEnable()
{
board = Bukkit.getScoreboardManager().getNewScoreboard();
obj = board.registerNewObjective("prefixofuser", "dummy");
getServer().getConsoleSender().sendMessage("§4===============================");
getServer().getConsoleSender().sendMessage("§6TrueScoreboard is enabled");
getServer().getConsoleSender().sendMessage("§6version " + "§9" + version);
getServer().getConsoleSender().sendMessage(ChatColor.GOLD + "Author " + "§c" + author);
getServer().getConsoleSender().sendMessage("§4===============================");
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;
}
}
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;
}
public void onDisable()
{
getServer().getConsoleSender().sendMessage("§eTrueScoreboard is disabled");
}
@SuppressWarnings("deprecation")
@EventHandler
public void PlayerJoin(PlayerJoinEvent e)
{
e.getPlayer().setScoreboard(board);
Player p = e.getPlayer();
double balance = econ.getBalance(p.getName());
String name = ChatColor.DARK_RED + "§l[" + ChatColor.RED + "§lImperial" + ChatColor.YELLOW + "§lWorld" + ChatColor.DARK_RED + "§l]";
PermissionUser user = PermissionsEx.getUser(p);
String prefix = user.getPrefix();
prefix = ChatColor.translateAlternateColorCodes('&', prefix);
obj.setDisplayName(name);
obj.setDisplaySlot(DisplaySlot.SIDEBAR);
obj.getScore(" ").setScore(0);
obj.getScore(ChatColor.GREEN + " " + "§lПривилегия: " + prefix).setScore(-1);
obj.getScore(" ").setScore(-2);
obj.getScore(ChatColor.GREEN + " " + "§lФранков на счету: " + ChatColor.BLUE + "§l" + balance).setScore(-3);
obj.getScore(" ").setScore(-4);
obj.getScore(ChatColor.GREEN + " " + "§lВаш баланс2: " + ChatColor.DARK_RED + "§l[" + balance + ChatColor.DARK_RED + "§l]").setScore(-5);
obj.getScore(" ").setScore(-6);
obj.getScore(" ").setScore(-7);
obj.getScore(" ").setScore(-8);
obj.getScore(" ").setScore(-9);
obj.getScore(" ").setScore(-10);
obj.getScore(" ").setScore(-11);
obj.getScore(" ").setScore(-12);
obj.getScore(" ").setScore(-13);
obj.getScore(" ").setScore(-14);
}
}
Последнее редактирование: