Hologram / Leaderboard API
Активный0.0
Установок
0
Последнее обновление
10 месяцев назад
Версии
1.19 — 1.21.4
Сервер
Библиотеки
Технологические
Утилиты
Программный интерфейс Hologram / Leaderboard API
Визуализируйте динамический текст прямо в игровом пространстве Minecraft с помощью современной технологии пакетных голограмм.
Ключевые возможности
- Анимированный текст - Создавайте движущиеся и меняющиеся текстовые эффекты
- Поддержка MiniMessage - Используйте современное форматирование текста с цветами и стилями
- Основано на пакетах - Высокоэффективная система отображения без нагрузки на сервер
- Персонализированные голограммы - Каждый игрок видит свой уникальный контент
- Динамические таблицы лидеров - Автоматическое создание рейтинговых досок
- Гибкая настройка - Полный контроль над внешним видом и поведением
- Прикрепление объектов - Возможность связывать голограммы с другими сущностями
- Различные режимы отображения - Настройка под разные игровые ситуации
Важная информация: совместимость ограничена версиями 1.19.4+. Не работает с игроками Bedrock Edition. Это исключительно программная библиотека, требующая интеграции в ваши проекты.
Установка зависимостей
Вариант для Gradle
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
compileOnly 'com.github.max1mde:HologramAPI:1.4.7'
}
Вариант для Maven
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
<dependency>
<groupId>com.github.max1mde</groupId>
<artifactId>HologramAPI</artifactId>
<version>1.4.7</version>
<scope>provided</scope>
</dependency>
Добавьте зависимость в plugin.yml:
depend:
- HologramAPI
Практические примеры использования
Получение экземпляра менеджера
private HologramManager hologramManager;
@Override
public void onEnable() {
hologramManager = HologramAPI.getManager().orElse(null);
if (hologramManager == null) {
getLogger().severe("Ошибка инициализации HologramAPI менеджера.");
return;
}
}
Создание базовой голограммы
TextHologram hologram = new TextHologram("уникальный_идентификатор")
.setMiniMessageText("<aqua>Привет мир!")
.setSeeThroughBlocks(false)
.setBillboard(Display.Billboard.VERTICAL)
.setShadow(true)
.setScale(1.5F, 1.5F, 1.5F)
.setTextOpacity((byte) 200)
.setBackgroundColor(Color.fromARGB(60, 255, 236, 222).asARGB())
.setAlignment(TextDisplay.TextAlignment.CENTER)
.setViewRange(1.0)
.setMaxLineWidth(200);
Управление отображением
hologramManager.spawn(hologram, <местоположение>);
hologramManager.remove(hologram);
Создание анимации
TextAnimation animation = new TextAnimation()
.addFrame( "<red>Первый кадр")
.addFrame("<green>Второй кадр")
.addFrame("Третий кадр\n" +
"Вторая строка в третьем кадре")
.addFrame("Последний кадр");
animation.setDelay(20L); // 1 секунда
animation.setDelay(20L * 2);
hologramManager.applyAnimation(this.hologram, animation);
Создание таблицы лидеров
Map<Integer, String> leaderboardData = new LinkedHashMap<>() {{
put(1, "ИгрокОдин:1000");
put(2, "ИгрокДва:950");
put(3, "ИгрокТри:900");
}};
TextHologram leaderboard = hologramManager.generateLeaderboard(
локация,
leaderboardData,
HologramManager.LeaderboardOptions.builder()
.title("Лучшие игроки")
.showEmptyPlaces(true)
.scale(1.2f)
.maxDisplayEntries(10)
.suffix("убийств")
.build()
);