- Баллы
- 76
- Имя в Minecraft
- VentiKLay
- BungeeBossBarAPI - С помощью данного API вы сможете отправлять игрокам BossBar, который будет выводить определенную информацию. BossBar отправляется на прямую к клиенту, не важно какие версии у ваших Bukkit серверов, тут важна версия клиента игрока, ЕСЛИ версия клиента ниже 1.9, то игрок просто не будет видеть ваш BossBar (то есть, динозавры идут по тропикам
).
- Version - 1.1.2
- Команды - Отсутствуют.
- Права - Отсутствуют.
- Особенности:
- Легок в использовании
- Автоматическое форматирование титла вашего бара в JSON формат
- Гибкая настройка вашего BossBar'а (возможность настроить: цвет, стиль, прогресс, и даже можно установить определенные флаги)
- Работа с API: Итак, все предельно просто, для начала добавим наше API в библиотеку (думаю все знают как это делать), теперь приступаем:
PHP:
package me.ventiklay.bungee.bossbar;
import me.ventiklay.bungee.bossbar.api.BossBar;
public class Example {
public void example() {
// получаем ключ к классу, для использования API
BossBar.getKey();
}
}
Отлично, теперь обращаемся к методу create():
PHP:
package me.ventiklay.bungee.bossbar;
import me.ventiklay.bungee.bossbar.api.BossBar;
public class Example {
public void example() {
BossBar.getKey().create(player, title, color, style, progress, flag);
}
}
Итак, теперь все разберем по полочкам:
PHP:
player:
//Игрок которому мы будем отправлять наш бар
title:
//Текст который мы будем выводить на наш бар, но обратите внимание, что текст должен быть исключительно в JSON формате (создавать конструктор для форматирования текста в JSON не нужно, API все сделает за вас, поэтому просто создаем переменную которая будет хранить наш текст)
сolor:
//Цвет нашего бара, то есть к примеру: BarColor.WHITE - белый цвет, чтобы получить список всех цветов, обращайтесь к классу BarColor (me.ventiklay.bungee.bossbar.api.BarColor)
style:
//стиль нашего бара, то есть к примеру: BarColor.NONE - самый обычный бар, чтобы получить список всех стилей, обращайтесь к классу BarStyle (me.ventiklay.bungee.bossbar.api.BarStyle)
progress:
// прогресс нашего бара, пример: 1.0f (советую ставить от 0.1f до 1.0f)
flag:
// флаг нашего бара, всего их три:
// (byte) 0x1 - затемняет небо (как во время шторма)
// (byte) 0x2 - делает наш бар дракон баром (используется для воспроизведения конечной музыки)
// (byte) 0x3 - Создает туман вокруг игрока (если конечно игрок не отключил туман в настройках)
// (byte) 0 - если вам не нужно использовать предыдущии флаги, то устанавливайте значение (byte) 0
Пример:
PHP:
package me.ventiklay.bungee.bossbar;
import me.ventiklay.bungee.bossbar.api.BarColor;
import me.ventiklay.bungee.bossbar.api.BarStyle;
import me.ventiklay.bungee.bossbar.api.BossBar;
import net.md_5.bungee.api.connection.ProxiedPlayer;
public class Example {
public void example(ProxiedPlayer player) {
String json = "{\"text\":\"example json text\",\"color\":\"gray\"}";
BossBar.getKey().create(player, json, BarColor.BLUE, BarStyle.SIX, 1.0f, (byte) 0x1);
}
}
Итак, допустим нам нужно перезаписать стиль и цвет нашего бара, как это сделать? Для этого нам поможет метод restyleBar, пример:
PHP:
package me.ventiklay.bungee.bossbar;
import me.ventiklay.bungee.bossbar.api.BarColor;
import me.ventiklay.bungee.bossbar.api.BarStyle;
import me.ventiklay.bungee.bossbar.api.BossBar;
import net.md_5.bungee.api.event.PostLoginEvent;
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.event.EventHandler;
public class Example implements Listener {
@EventHandler
public void onExample(PostLoginEvent e) {
String json = "{\"text\":\"Forge\",\"color\":\"gray\"}";
BossBar.getKey().create(e.getPlayer(), json, BarColor.RED, BarStyle.SIX, 1.0f, (byte) 0x1);
if (e.getPlayer().isForgeUser()) {
BossBar.getKey().restyleBar(BarColor.GREEN, BarStyle.TWENTY);
}
}
}
Хорошо, цвет бара и его стиль мы перезаписали если игрок зашёл с Forge клиента, но что если нам ещё нужно перезаписать титл и прогресс нашего бара, как это сделать? Для этого нам могут методы reTitleBar, и reProgressBar:
PHP:
package me.ventiklay.bungee.bossbar;
import me.ventiklay.bungee.bossbar.api.BarColor;
import me.ventiklay.bungee.bossbar.api.BarStyle;
import me.ventiklay.bungee.bossbar.api.BossBar;
import net.md_5.bungee.api.event.PostLoginEvent;
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.event.EventHandler;
public class Example implements Listener {
@EventHandler
public void example(PostLoginEvent e) {
String json = "{\"text\":\"forge: false\",\"color\":\"red\"}";
BossBar.getKey().create(e.getPlayer(), json, BarColor.BLUE, BarStyle.SIX, 0.5f, (byte) 0x1);
if(e.getPlayer().isForgeUser()) {
String forge = "{\"text\":\"forge: true\",\"color\":\"green\"}";
BossBar.getKey().reProgressBar(0.6f);
BossBar.getKey().reTitleBar(forge);
}
}
}
Вот в принцепи и все (Извините, если что-то не понятно, это мое первое API)
- TO-DO - Ваши идеи.
- Версии:
- Version 1.0
- Version 1.1
- reTitleBar: Используется, чтобы перезаписать титл бара (пример смотреть сверху)
- reProgressBar: Используется, чтобы перезаписать прогресс бара (пример смотреть сверху)
- Найден новый флаг для BossBar'а (byte) 0x3 - создает туман вокруг игрока (если конечно он не выключил его в настройках)
- Version 1.1.2
- Исправлен баг, из-за которого на старых версиях BungeeCord нельзя было заходить с версии 1.7
- Известные баги:
Пока их нету, если найдете то - пишете.
- Cкачать:
https://yadi.sk/d/bMZp4FOJ3TVmRT
https://cloud.mail.ru/public/5HqH/11i2rqugo
(Если по какой-то причине ссылки сломаются, можно скачать внизу)
https://cloud.mail.ru/public/5HqH/11i2rqugo
(Если по какой-то причине ссылки сломаются, можно скачать внизу)
- Source code: GitHub
Вложения:
Последнее редактирование:
