Как сделать босс бар?

HappyIceGriefYT

Premium
Сборщик
Дизайнер
Hosting
Сообщения
296
Решения
4
Я пишу плагин, как можно сделать босс бар на верху чтоб писалось "Привет (имя игрока player.getName())" когда он заходит (PlayerJoinEvent есть)
Java:
    @EventHandler
    public void onJoin(final PlayerJoinEvent e) {
    Player player = e.getPlayer();
    player.sendTitle("Привет," + player.getName(), "Сайт.ru");
    setScoreboard(player);
    }
 
Босс бар с BOSSBARAPI

Java:
//Create a new BossBar
BossBar bossBar = BossBarAPI.addBar(player, // The receiver of the BossBar
      new TextComponent("Hi " + player.getName() + "!"), // Displayed message
      BossBarAPI.Color.BLUE, // Color of the bar
      BossBarAPI.Style.NOTCHED_20, // Bar style
      1.0f, // Progress (0.0 - 1.0)
      20, // Timeout
      2); // Timeout-interval
 
Босс бар с BOSSBARAPI

Java:
//Create a new BossBar
BossBar bossBar = BossBarAPI.addBar(player, // The receiver of the BossBar
      new TextComponent("Hi " + player.getName() + "!"), // Displayed message
      BossBarAPI.Color.BLUE, // Color of the bar
      BossBarAPI.Style.NOTCHED_20, // Bar style
      1.0f, // Progress (0.0 - 1.0)
      20, // Timeout
      2); // Timeout-interval
Это в PlayerJoinEvent?
 
босс бра можно в боди плагина и потом прост вызывать его
Объединено

Есть ещё метод с босс бар
Объединено

Java:
BossBar bar = Bukkit.getServer().createBossBar("", BarColor.GREEN, BarStyle.SOLID);
А дальше работать с "bar"
Объединено

Вот ещё посмотрел с босс баром
Java:
public class Main extends JavaPlugin {
    private BossBar bar = Bukkit.getServer().createBossBar("", BarColor.GREEN, BarStyle.SOLID);

    @Override
    public void onEnable() {
        this.getServer().getPluginManager().registerEvents(new EventListener(this), this);
        bar.setTitle(this.getConfig().getString("Messages.bar"));
    }
    
    @Override
    public void onDisable() {
        this.bar.removeAll();
    }

    public BossBar getBossBar() {
        return bar;
    }
}
Java:
public class EventListener implements Listener {
    Main plugin;

    public EventListener(Main main) {
        this.plugin = main;
    }

    @EventHandler
    public void on(PlayerJoinEvent e) {
        this.plugin.getBossBar().addPlayer(e.getPlayer());
    }
    
    @EventHandler
    public void on(PlayerQuitEvent e) {
        this.plugin.getBossBar().removePlayer(e.getPlayer());
    }
}
 
Последнее редактирование:
Титл с 1.12.2 (как я понял)


Java:
for(Player p : Bukkit.getOnlinePlayers()) {
p.sendTitle("верхняя строка","нижняя строка",0,40,0);
//40 в тиках сколько будет держаться титл
}
Это будет отправлять всем игрокам на сервере.
 
Назад
Сверху Снизу