rVisualBoards - Голографические топы [1.21.4-26.X]

Плагин rVisualBoards - Голографические топы [1.21.4-26.X] 1.4

Создайте и подтвердите аккаунт для скачивания
Поддерживаемые версии
  1. 1.21
  2. 26.1
  3. 26.2
  4. 26.3
  5. 26.4
Ядра и Прокси
  1. Spigot
  2. Paper
  3. Folia
Минимальная версия Java
21
Исходный код
https://github.com/Rulhot/rVisualBoards
rVisualBoards — Update Banner.png


Голографические табло с топами игроков прямо в мире. Игрок кликает по кнопкам, переключает топы и листает места. Без модов и ресурспака.

Paper 1.21.4+ • Folia • Java 21​


Как это работает
  1. Ты встаёшь на место табло и вводишь /rvb create spawn loonycube.
  2. Плагин ставит табло и берёт данные топов из ajLeaderboards.
  3. Игрок кликает по кнопке и переключает топ: баланс, время, убийства.
  4. Игрок смотрит на табло и крутит колесо мыши: места листаются до сотого.


Возможности

Табло

  • Несколько топов на одном табло, переключение кликом по кнопке.
  • Вкладки периодов: всё время, год, месяц, неделя, день, час.
  • Прокрутка мест колесом мыши, до 100 мест на одном табло.
  • Личная строка игрока с его местом и значением.
  • Количество табло и топов не ограничено.

Данные
  • Топы из ajLeaderboards.
  • Топы из любого плагина с плейсхолдерами PlaceholderAPI. В конфиге лежит готовый пример для CakeAuction.
  • Данные обновляются раз в 10 секунд, интервал задаёшь сам.
  • Игрок видит табло с 32 блоков, радиус меняется в конфиге.

Внешний вид
  • 4 готовых вида: loonycube, holyworld-coins, holyworld-mobs, holyworld-online.
  • Свой вид в отдельном файле: колонки, цвета, размеры, отступы и тексты.
  • 4 анимации смены топа: SLIDE_LEFT, SLIDE_RIGHT, ZOOM, CASCADE.
  • Кнопка и строка увеличиваются, когда игрок на них смотрит.
  • Звук клика по кнопке.
  • MiniMessage во всех текстах: градиенты, тени, HEX.

Управление в игре

  • Поворот на любой угол или лицом к себе.
  • Размер табло от 0.25 до 4.
  • Сдвиг по блокам в 6 направлениях.
  • Перенос табло к себе и телепорт к табло.
  • Привязка к центру блока и поворот кратно 90°.
  • Ошибка в конфиге: плагин пишет в консоль файл и строку.


Снимок экрана 2026-09-28 225928.png


Снимок экрана 2026-09-28 230321.png


Снимок экрана 2026-09-28 230534.png


Снимок экрана 2026-10-03 134529.png
​

YAML:
update-interval-seconds: 10 # как часто обновляются данные топов, в секундах
view-radius: 32.0 # с какого расстояния игрок видит табло, в блоках
snap-to-grid: true # true: табло встаёт в центр блока и поворачивается кратно 90°
debug: false # подробные сообщения в консоль для поиска ошибок
metrics: true # анонимная статистика bStats
update-check: true # проверка новой версии плагина

command: # применяется после перезапуска сервера
  name: "rvb" # название основной команды
  aliases: # дополнительные названия команды
    - rvisualboards

clicks:
  cooldown-millis: 300 # пауза между кликами по кнопкам, в миллисекундах
  sound:
    key: "minecraft:ui.button.click" # ID звука клика
    volume: 0.6 # громкость
    pitch: 1.4 # высота

# Увеличение элемента, на который смотрит игрок.
hover:
  buttons: true # увеличивать кнопки
  rows: true # увеличивать строки таблицы
  scale: 1.15 # во сколько раз растёт кнопка
  row-scale: 1.1 # во сколько раз растёт строка
  distance: 6.0 # с какого расстояния работает, в блоках
  duration-ticks: 3 # длительность увеличения, в тиках

# Прокрутка мест колесом мыши.
scroll:
  enabled: true # включить прокрутку
  max-places: 100 # до какого места игрок долистает
  step: 1 # на сколько мест сдвигает один шаг колеса
  distance: 8.0 # с какого расстояния работает, в блоках

# Анимация при смене топа или периода.
animation:
  enabled: true # включить анимации
  appear: true # анимация при появлении табло
  types: # SLIDE_LEFT, SLIDE_RIGHT, ZOOM, CASCADE
    - CASCADE
  duration-ticks: 6 # длительность, в тиках
  stagger-ticks: 1 # задержка между строками, в тиках
  distance: 0.6 # сдвиг, в блоках

advanced:
  viewer-check-interval-ticks: 20 # как часто плагин проверяет, кто видит табло
  hover-check-interval-ticks: 2 # как часто плагин проверяет взгляд игрока
  # Плейсхолдеры источника данных. {board}: борд, {place}: место, {type}: период.
  placeholders:
    name: "%ajlb_lb_{board}_{place}_{type}_name%" # ник игрока на месте
    prefix: "%ajlb_lb_{board}_{place}_{type}_prefix%" # префикс игрока
    value: "%ajlb_lb_{board}_{place}_{type}_value%" # значение
    position: "%ajlb_position_{board}_{type}%" # место самого игрока
    personal-value: "%ajlb_value_{board}_{type}%" # значение самого игрока
    empty-name: "---" # что источник возвращает для пустого места
  # Ширина нестандартных символов в пикселях. Нужна для ровных колонок.
  char-widths:
    "☠": 9
    "⛃": 9
    "⌚": 9

config-version: 1 # служебное поле, не меняй

Каждый файл в папке tops задаёт отдельный вид табло. Имя файла ты указываешь в /rvb create <id> <вид>.
YAML:
# Топы на этом табло. Каждый топ получает свою кнопку.
tops:
  balance: # ID топа, любое название
    board: vault_eco_balance # борд ajLeaderboards
    label: "Баланс" # текст на кнопке
    title: "<gradient:#f59e5b:#f5c05b>Топ по монетам" # заголовок табло
    button-color: "#B3402709" # цвет выбранной кнопки, формат #AARRGGBB
    formats: # свои тексты для этого топа, перекрывают общую секцию formats
      header-value: "<#a6a6a6>Баланс"
      row-place: "<#f9ce5c>{place}"
      row-value: "<#ebb857>{value} <#f5a05b>⛃"
      empty-place: "<#f9ce5c>{place}"
      empty-value: "<#ebb857>--- <#f5a05b>⛃"
  # Топ из другого плагина: добавь секцию placeholders со своими плейсхолдерами.
  sellers:
    board: cakeauction_sellers
    label: "Продавцы"
    title: "<gradient:#3fd97a:#a5f08c>Топ продавцов"
    button-color: "#B30C3618"
    placeholders:
      name: "%cakeauction_top_raw_name_{place}%"
      prefix: "%cakeauction_top_prefix_{place}%"
      value: "%cakeauction_top_value_{place}%"
      position: "" # пустая строка: у источника нет такого плейсхолдера
      personal-value: ""

# Периоды на вкладках: alltime, yearly, monthly, weekly, daily, hourly.
periods:
  - alltime
period-names: # как периоды называются на табло
  alltime: "Всё время"
  yearly: "Год"
  monthly: "Месяц"
  weekly: "Неделя"
  daily: "День"
  hourly: "Час"

# Тексты табло, формат MiniMessage.
formats:
  subtitle: "<#8c8c8c>{period}" # подзаголовок. {period}: название периода
  header-place: "<#a6a6a6>№" # шапка колонки места
  header-name: "<#a6a6a6>Игрок" # шапка колонки ника
  header-value: "<#a6a6a6>Значение" # шапка колонки значения
  row-place: "<white>{place}" # место в строке
  row-name: "{prefix}<#f0f0f0>{name}" # ник в строке. {prefix}: префикс игрока
  row-value: "<white>{value}" # значение в строке
  empty-place: "<white>{place}" # место в пустой строке
  empty-name: "<#f0f0f0>---" # ник в пустой строке
  empty-value: "<white>---" # значение в пустой строке
  personal-place: "<white>{position}" # место самого игрока
  personal-place-unranked: "<white>-" # место игрока, которого нет в топе
  personal-name: "<#f0f0f0>{name}" # ник в личной строке
  personal-value: "<white>{value}" # значение в личной строке
  button: "<white>{label}" # кнопка топа
  button-selected: "<white>{label}" # выбранная кнопка
  arrow-left: "<white>◀" # стрелка прокрутки кнопок влево
  arrow-right: "<white>▶" # стрелка прокрутки кнопок вправо
  tab: "<gray>{period}" # вкладка периода
  tab-selected: "<white>{period}" # выбранная вкладка

table:
  width: 5.5 # ширина табло, в блоках
  rows: 15 # сколько мест видно сразу
  text-scale: 1.0 # размер текста строк
  title-scale: 1.0 # размер заголовка
  personal-row: false # true: показывать личную строку игрока
  shadow: true # тень у текста
  full-bright: true # true: текст не темнеет ночью и в тени

buttons: # кнопки переключения топов
  enabled: true
  visible: 3 # сколько кнопок видно сразу
  arrows: true # стрелки, когда топов больше, чем visible
  height: 0.3 # высота кнопки, в блоках
  text-scale: 1.0 # размер текста кнопки
  arrow-width: 0.2 # ширина стрелки, в блоках

tabs: # вкладки переключения периодов
  enabled: false
  height: 0.24 # высота вкладки, в блоках
  text-scale: 0.8 # размер текста вкладки

# Колонки. from и to: левый и правый край в блоках от центра табло.
# align: LEFT, CENTER, RIGHT.
columns:
  place:
    from: -2.75
    to: -2.21
    align: RIGHT
  name:
    from: -2.16
    to: 1.51
    align: CENTER
  value:
    from: 1.62
    to: 2.75
    align: RIGHT

# Цвета фона, формат #AARRGGBB. Первые два знака: прозрачность.
colors:
  title: "#70000000" # заголовок
  header: "#80000000" # шапка таблицы
  column: "#5A000000" # колонки
  personal-row: "#5A000000" # личная строка
  button: "#66000000" # кнопка
  button-selected: "#B3402709" # выбранная кнопка
  arrow: "#66000000" # стрелка
  tab: "#40000000" # вкладка
  tab-selected: "#99000000" # выбранная вкладка

# Высоты и отступы, в блоках.
spacing:
  padding: 0.1 # поля по краям табло
  title-height: 0.26 # высота заголовка
  subtitle-height: 0.0 # высота подзаголовка, 0 убирает его
  header-height: 0.31 # высота шапки таблицы
  gap: 0.03 # зазор между строками
  cell-padding: 0.05 # отступ текста от края колонки
  buttons-margin: 0.24 # отступ между таблицей и кнопками
  buttons-gap: 0.13 # зазор между кнопками
  depth-step: 0.01 # шаг между слоями фона и текста

YAML:
# Все тексты в формате MiniMessage. {prefix} подставляет строку prefix.
prefix: "<b><gradient:#82ABF0:#82ABF0>rVisualBoards</gradient></b> <dark_gray>»</dark_gray> <white>"

general:
  help: "..." # справка /rvb help
  player-only: "..." # команду ввели из консоли
  not-ready: "..." # плагин ещё грузится или в конфиге ошибка
  board-not-found: "..." # табло с таким ID нет. {id}
  type-missing: "..." # нет файла вида. {type}, {types}: доступные виды

create:
  success: "..." # табло создано. {id}, {type}, {world}, {x}, {y}, {z}
  no-type: "..." # не указан вид. {id}, {types}
  invalid-id: "..." # в ID лишние символы
  exists: "..." # табло с таким ID уже есть. {id}

movehere:
  success: "..." # табло перенесено. {id}, {world}, {x}, {y}, {z}

remove:
  success: "..." # табло удалено. {id}

list:
  empty: "..." # табло ещё нет
  header: "..." # шапка списка. {count}
  entry: "..." # строка списка. {id}, {type}, {world}, {x}, {y}, {z}

reload:
  success: "..." # конфиги перечитаны
  busy: "..." # перезагрузка уже идёт
  failed: "..." # ошибка в конфиге, файл и строка в консоли

edit:
  info: "..." # сведения о табло. {id}, {type}, {tops}, {default-top}, {yaw}, {scale}
  help: "..." # список действий /rvb edit
  rotated: "..." # табло повёрнуто. {yaw}
  scaled: "..." # размер изменён. {scale}
  moved: "..." # табло сдвинуто
  teleported: "..." # игрок перемещён к табло
  teleport-failed: "..." # телепорт не удался
  world-not-loaded: "..." # мир табло не загружен. {world}
  type: "..." # вид изменён. {type}
  default-top: "..." # первый топ изменён. {top}
  top-missing: "..." # такого топа нет на табло. {top}
  no-file: "..." # текст вместо вида, если файл удалён

config-version: 1 # служебное поле, не меняй
Зависимости
PlaceholderAPI, packetevents, ajLeaderboards
Команды и права
КомандаЧто делает
/rvb helpПоказывает список команд
/rvb create <id> <вид>Создаёт табло там, где ты стоишь. Вид: файл из папки tops
/rvb movehere <id>Переносит табло к тебе
/rvb edit <id>Показывает сведения о табло
/rvb edit <id> rotate <0-360>Поворачивает табло на угол
/rvb edit <id> faceРазворачивает табло к тебе
/rvb edit <id> scale <0.25-4>Меняет размер табло
/rvb edit <id> move up|down|left|right|front|back <блоки>Сдвигает табло
/rvb edit <id> tpТелепортирует тебя к табло
/rvb edit <id> type <вид>Меняет вид табло
/rvb edit <id> default-top <топ>Задаёт топ, который открывается первым
/rvb remove <id>Удаляет табло
/rvb listПоказывает список табло
/rvb reloadПеречитывает конфиги и папку tops

Алиас: /rvisualboards. Все команды требуют право rvisualboards.admin.
Автор
Rulhot
Скачивания
29
Просмотры
856
Первый выпуск
Обновление
Оценка
5.00 звёзд 1 оценок

Другие ресурсы пользователя Rulhot

Поделиться ресурсом

Последние обновления

  1. 1.4

    Добавлено Топы теперь можно брать из любых плагинов, а не только из ajLeaderboards. Например...
  2. 1.3

    Новое - Плавное появление табло: при подходе строки выезжают по очереди той же анимацией, что...
  3. 1.2

    Плагин стал намного производительнее. Табло теперь рисуется пакетами, а не настоящими...

Последние рецензии

Здравствуйте, благодарю вас за такой прекрасный плагин на топы! Буду использовать его на своем сервере.

С уважением, разработчик RabbitMine, Aumin.
Rulhot
Rulhot
Спасибо за отзыв, но советую в скором времени установить версию плагина 1.3, которая в скором времени выйдет
Назад
Сверху Снизу