- Поддерживаемые версии
- 1.16
- 1.17
- 1.18
- 1.19
- 1.20
- 1.21
- Ядра и Прокси
- Spigot
- Paper
- Минимальная версия Java
- 17
Описание: Игра, где каждый должен отстоять своё место на холсте
Команды:
Обратите внимание: Стандартная конфигурация плагина на Английском языке, так как изначально предназначалась для иностранного форума
Дискорд: Если вам нужна какая-либо помощь с этим плагином, вы можете написать мне в Discord: @_gamedoctor_
Пожертвование: Если вам понравился мой плагин, вы можете поддержать меня, пожертвовав некоторую сумму сюда: КЛИК
Примечание: Если вы хотите, чтобы в плагин был добавлен дополнительный функционал, просто напишите об этом в обсуждении
Установка:
Скачайте, поместите его в папку plugins и перезагрузите свой сервер
Команды:
- /pixelbattle - Главная команда
- НЕТ ЗАВИСИМОСТЕЙ !
- Поддержка HEX !
- СИСТЕМА ТАЙМЛАПСА (Выгружайте историю ВАШЕГО PixelBattle в .mp4 ИЛИ воспроизводите анимацию ТаймЛапса прямо в игре)
- СИСТЕМА УРОВНЕЙ
- Экспорт картинки полотна (Получайте картинку полотна в .png)
- Все сообщения могут быть настроены для отображения в чате, title, actionbar (+ Звуки)
- Поддержка баз данных MySQL, SQLite, YAML
- Продвинутая и простая для понимания конфигурация
- Собственная система таблиц лидеров
- Вайп через команду
- 100% БЕСПЛАТНО (Включая ВЕБ Инструмент)
Вы можете найти инструкции и демонстрацию на Английском ЗДЕСЬ
Плагин имеет только один конфигурационный файл:
Здесь Вы обязательно должны указать регион своего полотна - posOne и posTwo, также место спавна, где будут появляться игроки, войдя в PixelBattle - spawn, а ещё exitSpawn - место, где будут появляться игроки при выходе из PixelBattle. Обратите внимание: Если Вы хотите пользоваться функциями ВЕБ инструмента (Создание тайм лапса в формате .mp4, экспорт .png полотна), то полотно должно быть горизонтальным (БЕЗ изменения высоты Y). Также полотно должно обязательно иметь равные стороны. Например: 11x11, 100x100, 123x123 и так далее.
На этом необходимая настройка завершена.
Видео с проведением необходимой настройки:
Настройка НЕОБЯЗАТЕЛЬНЫХ параметров:
На этом необходимая настройка завершена.
Видео с проведением необходимой настройки:
Настройка НЕОБЯЗАТЕЛЬНЫХ параметров:
Чтобы использовать плагин PixelBattle на отдельном сервере максимально правильно, Вы можете установить значение параметра
standaloneServer.enable на true - Тогда при входе на сервер игрок СРАЗУ будет перенаправлен к месту спавна у полотна PixelBattle. Если Вы хотите, чтобы после выхода игрок был перенаправлен на другой сервер - установите значение redirectOnExit.enable на true. Чтобы делать это через предмет в инвентаре - установите значение exitItem.enable также на true. Рекомендуется установить параметры resetPlayer, guardPlayer, enableFly на true, параметр blockModify на false, а параметр defaultGamemode на ADVENTURE, чтобы запретить любые лишние действия на сервере. Если Вы не хотите, чтобы игроки выпадали из мира, можете установить параметр noFall на true. Проведя такую настройку, Вы избавитесь от необходимости ставить дополнительные плагины, по типу WorldGuard и тому подобное.
Чтобы убрать сообщения о входе/выходе игроков, Вы можете использовать мой максимально простой плагин SimpleJoinQuitMessages
standaloneServer.enable на true - Тогда при входе на сервер игрок СРАЗУ будет перенаправлен к месту спавна у полотна PixelBattle. Если Вы хотите, чтобы после выхода игрок был перенаправлен на другой сервер - установите значение redirectOnExit.enable на true. Чтобы делать это через предмет в инвентаре - установите значение exitItem.enable также на true. Рекомендуется установить параметры resetPlayer, guardPlayer, enableFly на true, параметр blockModify на false, а параметр defaultGamemode на ADVENTURE, чтобы запретить любые лишние действия на сервере. Если Вы не хотите, чтобы игроки выпадали из мира, можете установить параметр noFall на true. Проведя такую настройку, Вы избавитесь от необходимости ставить дополнительные плагины, по типу WorldGuard и тому подобное.
Чтобы убрать сообщения о входе/выходе игроков, Вы можете использовать мой максимально простой плагин SimpleJoinQuitMessages
Плагин PixelBattle содержит в себе множество необязательного, но весьма интересного функционала. Например, Вы можете сделать таблицу лидеров по любому из доступных параметров игрока PixelBattle: Для этого установите значение параметра leaderboards.painted.enable на true, не забудьте указать локацию location.
Также к дополнительному функционалу можно отнести Скорборд (Информационная таблица справа на экране). Чтобы включить отображение скорборда, установите значение параметра scoreboard.enable на true.
Вы также можете настроить цвета (блоки), которые игроки смогут использовать на полотне PixelBattle. Каждому блоку можно присвоить уникальное отображаемое название, лор (описание) и право на использование.
Обратите внимание - Если Вы не хотите, чтобы какие-либо цвета (блоки) и/или команды имели право на использование - установите значение соответственного права на "-".
Также к дополнительному функционалу можно отнести Скорборд (Информационная таблица справа на экране). Чтобы включить отображение скорборда, установите значение параметра scoreboard.enable на true.
Вы также можете настроить цвета (блоки), которые игроки смогут использовать на полотне PixelBattle. Каждому блоку можно присвоить уникальное отображаемое название, лор (описание) и право на использование.
Обратите внимание - Если Вы не хотите, чтобы какие-либо цвета (блоки) и/или команды имели право на использование - установите значение соответственного права на "-".
Плагин на данный момент имеет всего одну команду - /pixelbattle и несколько субкоманд:
- /pixelbattle join - При активации перенаправляет Вас в PixelBattle. Можно использовать на других игроках. Например, можно отправить игрока Tester на PixelBattle - /pixelbattle join Tester
- /pixelbattle leave - При активации заставляет игрока выйти из PixelBattle. Можно использовать на других игроках. Например, можно выгнать игрока Tester с PixelBattle - /pixelbattle leave Tester
- /pixelbattle timelapse <скорость> - Позволяет проиграть ТаймЛапс ВНУТРИ ИГРЫ. Анимация будет показана прямо на полотне PixelBattle, во время проигрывания у инициатора в actionbar будет отображаться прогресс анимации - отношение проигранных кадров к общему их числу. Во время анимации игроки не смогут взаимодействовать с полотном. Прервать анимацию нельзя, грамотно рассчитывайте скорость воспроизведения. Скорость одного кадра указывается в МИЛЛИСЕКУНДАХ - по умолчанию 8. 1000 Миллисекунд = 1 секунда
- /pixelbattle wipe - Запускает процесс удаления данных и истории полотна PixelBattle. Удаленные данные восстановить нельзя, используйте с осторожностью
- /pixelbattle web canvas - Возвращает в ответ ссылку на картинку .png Вашего полотна
- /pixelbattle web timelapse - Запускает процесс создания ТаймЛапса и возвращает в ответ ссылку на отслеживание статуса создания
- /pixelbattle users - Позволяет управлять данными игроков. Например, устанавливать игровой уровень, количество закрашенных пикселей или просто обнулить данные об игроке
Плагин может работать с PlaceholderAPI. Ниже представлен список доступных плейсхолдеров:
- %pixelbattle_inPixelBattle% - Возвращает количество игроков, вошедших в PixelBattle
- %pixelbattle_nextPixel% - Возвращает время до следующего закрашивания конкретному игроку. Если игрок не в PixelBattle, то возвращается "-"
- %pixelbattle_painted% - Возвращает количество закрашенных блоков конкретному игроку. Если игрок не в PixelBattle, то возвращается "-"
- %pixelbattle_playedTime% - Возвращает количество отыгранного времени конкретному игроку. Если игрок не в PixelBattle, то возвращается "-"
- %pixelbattle_exp% - Возвращает количество игрового опыта конкретному игроку. Если игрок не в PixelBattle или система уровней отключена, то возвращается "-"
- %pixelbattle_level% - Возвращает игровой уровень конкретному игроку. Если игрок не в PixelBattle или система уровней отключена, то возвращается "-"
- %pixelbattle_expToNextLevel% - Возвращает оставшееся количество опыта до следующего уровня конкретному игроку. Если игрок не в PixelBattle или система уровней отключена, то возвращается "-"
Вы можете создавать картинки полотна и видео ТаймЛапса прямо в игре без предоставления каких-либо данных, используя команды /pixelbattle web canvas и /pixelbattle web timelapse.
Ниже представлены примеры результата: (Это не скриншоты из игры)
Ниже представлены примеры результата: (Это не скриншоты из игры)
Плагин содержит простое API для сторонних разработчиков. Чтобы обратиться к классу с API, используйте:
Через PixelBattle API Вы можете:
Java:
PixelBattleAPI pixelBattleAPI = PixelBattle.getPixelBattleAPI();
- (void) pixelBattleAPI.joinPlayer(Player player); - Перенаправить игрока в PixelBattle
- (void) pixelBattleAPI.quitPlayer(Player player); - Выгнать игрока из PixelBattle
- (boolean) pixelBattleAPI.isInPixelBattle(Player player); - Проверить, находится ли игрок в PixelBattle
- (PixelPlayer) pixelBattleAPI.getPixelPlayer(Player player); - Получить класс PixelPlayer с данными об игроке
- (void) pixelBattleAPI.updateLeaderboard(String type); - Обновить таблицу лидеров определённого типа
- (boolean) pixelBattleAPI.isTimeLapseActive(); - Проверить, активно ли внутриигровое воспроизведение ТаймЛапса
- (List<Location>) pixelBattleAPI.getCanvasLocations(); - Получить локации каждого блока на полотне
- (boolean) pixelBattleAPI.paintPixel(Player player, Location blockLocation, Material color, boolean sendMessages, boolean addExp, boolean addPainted, boolean setCooldown); - Закрасить блок указанным цветом
- (Cancellable) PixelBattlePreJoinEvent - Вызывается, когда кто-то пытается зайти в PixelBattle, может быть отменён
- PixelBattleJoinEvent - Вызывается, когда кто-то успешно выполняет вход в PixelBattle
- PixelBattleQuitEvent - Вызывается, когда кто-то выходит из PixelBattle
- PixelPaintedEvent - Вызывается, когда кто-то закрашивает блок. Отсюда могут быть получены данные о новом пикселе (PaintedPixel - getNewPixel()), данные о предыдущем пикселе (PaintedPixel - getPreviousPixel()) и локация закрашенного блока (Location - getPaintedBlock())
- PixelPlayerLevelChangeEvent - Вызывается, когда игрок повышает или понижает свой уровень. Отсюда может быть получен предыдущий уровень (Integer - getPreviousLevel()), новый уровень (Integer - getNewLevel() и тип действия (LevelChangeType - getLevelChangeType())
Формат HEX цветов в плагине похож на тот, что используется в небезызвестном плагине Essentials. Для удобства генерации HEX градиентов текста существует сайт https://spigot.kosfarix.ru/hex
Вы можете размещать текст с HEX цветом в любом месте плагина - Будь то голограмма, скорборд, предмет в гуи или сообщение в чате.
Но имейте в виду, что переменные (%player%, %color% и так далее) нельзя переводить в этот формат.
Вы можете размещать текст с HEX цветом в любом месте плагина - Будь то голограмма, скорборд, предмет в гуи или сообщение в чате.
Но имейте в виду, что переменные (%player%, %color% и так далее) нельзя переводить в этот формат.
Обратите внимание: Стандартная конфигурация плагина на Английском языке, так как изначально предназначалась для иностранного форума
Дискорд: Если вам нужна какая-либо помощь с этим плагином, вы можете написать мне в Discord: @_gamedoctor_
Пожертвование: Если вам понравился мой плагин, вы можете поддержать меня, пожертвовав некоторую сумму сюда: КЛИК
Примечание: Если вы хотите, чтобы в плагин был добавлен дополнительный функционал, просто напишите об этом в обсуждении
Установка:
Скачайте, поместите его в папку plugins и перезагрузите свой сервер
YAML:
#############################
# PixelBattle #
# Made by GameDoctor #
# 2024 #
#############################
# Все инструкции по использованию и настройке плагина приведены на SpigotMC:
# https://www.spigotmc.org/members/gamedoctor.792259
settings: # Общие настройки
# Префикс всех сообщений в чате. Можно оставить пустым
messagesPrefix: "&fPixelBattle &e> "
# Количество секунд до следующего закрашивания
paintCooldown: 10
# Начало права, в котором можно указать задержку на следующее закрашивание. Например, pixelbattle.cooldown.5 - Установит задержку игроку на 5 секунд. Только целые числа
cooldownPermission: "pixelbattle.cooldown."
# Очищает инвентарь, восстанавливает голод, здоровье и обнуляет уровень игрока
resetPlayer: false
# Защищать игрока от урона и падения, отключить PvP, запретить взаимодействие с инвентарём
guardPlayer: true
# Разрешает игрокам бить друг друга без нанесения урона
allowKnock: false
# Не даёт игрокам выпасть из мира
noFall: false
# Включает режим полёта всем, кто находится на PixelBattle
enableFly: true
# Если false - блоки нельзя будет ломать или ставить везде. Если true - блоки можно будет ломать или ставить везде, кроме полотна
blockModify: false
# Запретить игрокам взаимодействие с сундуками, печками, верстаками и другими блоками
preventBlockInteract: false
# Стандартный режим игры при входе в PixelBattle (NO = НЕ ИЗМЕНЯТЬ)
defaultGamemode: "NO"
# Отображение времени в формате MM:SS (Минуты:Секунды). Когда false - отображаются просто секунды
timeFormat: false
# Логировать ли установку каждого пикселя (Нужно для создания ТаймЛапса)
logPixelPaint: true
# Сохранять ли текущее состояние полотна в базе данных. (Требуется для возможности экспорта картинки .png и тайм лапса в .mp4)
# Для использования этой функции полотно должно быть горизонтальным, без изменения высоты и с равными сторонами. Например: 11x11, 100x100, 123x123 и так далее
saveCanvasState: true
# Если true - игроки не смогут закрасить блок одним и тем же цветом
preventPaintSame: false
# Стандартный цвет полотна
defaultColor: "WHITE_WOOL"
# Если true - при закрашивании у предыдущего закрасившего будет отниматься этот блок
removePixelsWhenPainted:
enable: false
# Если true - за блок будет также отниматься опыт, уровень также может быть понижен
removeExp: true
# Если true - все числа будут представлены в более коротком формате. Например: 1000 = 1K, 1000000 = 1M и так далее
numberFormatting:
enable: false
# Количество цифр после запятой
fractionDigits: 1
# Формат времени в строке
timeStringFormat:
# Если true - отображается только наибольшее. Например, не 1 д. 12 ч. 5 м. 13 с., а просто 1 д.
displayOnlyHighest: true
seconds: "с."
minutes: "м."
hours: "ч."
days: "д."
canvas: # Настройки полотна
world: "world"
# Место, где будут появляться игроки, войдя в PixelBattle
spawn:
x: 1
y: 1
z: 1
yaw: 1
pitch: 1
# Место, где будут появляться игроки, выходя из PixelBattle
exitSpawn:
x: 1
y: 1
z: 1
yaw: 1
pitch: 1
# Первая точка полотна
posOne:
x: 1
y: 1
z: 1
# Вторая точка полотна
posTwo:
x: 1
y: 1
z: 1
database: # Настройки базы данных
# Доступные типы: FILE, MYSQL, SQLITE
type: SQLITE
# Указывается без формата. Используется для типов FILE (.yml) и SQLITE (.db)
fileName: "database"
# Название таблицы с игроками. Используется для типов FILE, MYSQL и SQLITE
playersTableName: "pb_players"
# Название таблицы с логами закрашенных пикселей. Используется для типов FILE, MYSQL и SQLITE
pixelLogsTableName: "pb_pixelLogs"
# Название таблицы с текущим состоянием полотна. Используется для типов FILE, MYSQL и SQLITE
canvasStateTableName: "pb_canvasState"
# Название базы данных. Только для MYSQL
databaseName: "pixelbattle"
# Хост. Только для MYSQL
host: "localhost"
# Пользователь. Только для MYSQL
user: "root"
# Пароль. Только для MYSQL
password: "-"
# Дополнительные параметры подключения. Изменяйте, если знаете, для чего это нужно. Только для MYSQL
arguments: "?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false"
command: # Настройки главной команды /pixelbattle
join: # Название субкоманды. Не изменяйте
# Право на вход в PixelBattle через команду /pixelbattle join. Установите на '-', если право не требуется
usePermission: "pixelbattle.join.use"
# Право перемещать других игроков в PixelBattle командой /pixelbattle join <ник>. Установите на '-', если право не требуется
useOnOtherPermission: "pixelbattle.join.use.other"
leave: # Название субкоманды. Не изменяйте
# Право на выход из PixelBattle через команду /pixelbattle leave. Установите на '-', если право не требуется
usePermission: "pixelbattle.leave.use"
# Право выбрасывать других игроков из PixelBattle командой /pixelbattle leave <ник>. Установите на '-', если право не требуется
useOnOtherPermission: "pixelbattle.leave.use.other"
timelapse: # Название субкоманды. Не изменяйте
# Право на воспроизведение ТаймЛапса через команду /pixelbattle timelapse. Установите на '-', если право не требуется
usePermission: "pixelbattle.timelapse.use"
wipe: # Название субкоманды. Не изменяйте
# Право на сброс истории и данных полотна через команду /pixelbattle wipe. Установите на '-', если право не требуется
usePermission: "pixelbattle.wipe.use"
web: # Название субкоманды. Не изменяйте
# Право на работу с ВЕБ Инструментом через команду /pixelbattle web. Установите на '-', если право не требуется
usePermission: "pixelbattle.web.use"
users: # Название субкоманды. Не изменяйте
# Право на управление данными игроков через команду /pixelbattle users. Установите на '-', если право не требуется
usePermission: "pixelbattle.users.use"
mod: # Название субкоманды. Не изменяйте
# Право на модерирование полотна через команду /pixelbattle mod. Установите на '-', если право не требуется
usePermission: "pixelbattle.mod.use"
standaloneServer: # Используйте это, если PixelBattle находится на отдельном сервере. Будет работать автовход
enable: false
# Настройка перенаправления на другой сервер после выхода из режима PixelBattle (BungeeCord)
redirectOnExit:
enable: false
server: "lobby"
exitItem: # Предмет в инвентаре для быстрого выхода из PixelBattle
enable: true
# Слот в хотбаре
slot: 0
material: "COMPASS"
glowing: false # Заставляет предмет переливаться, когда true
name: "&aВыйти"
lore:
- "&7Нажмите, если хотите уйти"
gui: # Настройка меню выбора цвета
# Заголовок меню выбора цвета
colorSelectionTitle: "&6&lВыбор цвета"
# Заголовок меню истории закрашиваний
paintLogsTitle: "&b&lИстория закрашиваний &8(&b%x% %y% %z%&8)"
items: # Вы не можете добавлять свои. Можно указать lore для любого
back: # Не изменяйте эту строку
enable: true
# Право на отображение этого предмета. Установите на '-', если не требуется
permission: "-"
name: "&cНазад"
material: "OAK_SIGN"
next: # Не изменяйте эту строку
enable: true
# Право на отображение этого предмета. Установите на '-', если не требуется
permission: "-"
name: "&cДалее"
material: "OAK_SIGN"
footer: # Не изменяйте эту строку
enable: true
# Право на отображение этого предмета. Установите на '-', если не требуется
permission: "-"
name: " "
material: "GRAY_STAINED_GLASS_PANE"
info: # Не изменяйте эту строку
enable: true
# Право на отображение этого предмета. Установите на '-', если не требуется
permission: "-"
name: "&cИнформация"
material: "BOOK"
lore: # Настройка лора (Можно убрать)
- "&7Цвет: %color%"
- "&7Закрасил: &c%player%"
- "&7Пиксель перекрашен &e%paintedCount%&7 раз(-а)"
- "&7Дата: &e%date% (%time%)"
- " "
- "&aНажмите, чтобы открыть логи"
paintedPixelInfo: # Не изменяйте эту строку
# Если true - игроки смогут просматривать историю закрашиваний каждого пикселя, если false - данная функция будет недоступна
enable: true
# Право на отображение этого предмета. Установите на '-', если не требуется
permission: "-"
name: "%colorName%"
lore: # Настройка лора (Можно убрать)
- "&7Закрасил: &c%player%"
- "&7Дата: &e%date% (%time%)"
color: # Не изменяйте эту строку
# Лор для всех предметов цветов
defaultLore:
- "&7Уровень: &e%level%"
- "&7Даёт опыта: &9%exp%"
- "%itemLore%" # %itemLore% - Индивидуальный лор предметов цветов
leveling: # Система уровней
# Если Вам не нужна система уровней - установите на false
enable: true
# Если true - опыт будет прибавляться даже когда уровень уже максимальный
stillAddExpWhenMax: false
# Уровень, который будет выдан всем новым игрокам
defaultLevel: 1
# Формат для сообщения levelUp (%newFeatures%)
format:
colors: "&7- Новые цвета: %colors%"
cooldown: "&7- Уменьшенная задержка: &6%cooldown% сек."
empty: "&cНет"
levels: # Настройка уровней
2: # Номер уровня. Должны идти по порядку
# Задержка на закрашивание, которая начинает действовать с момента достижения этого уровня. Можно убрать
paintCooldown: 9
# Количество опыта, которое требуется для достижения этого уровня
needExp: 10
3:
needExp: 20
4:
paintCooldown: 8
needExp: 30
5:
paintCooldown: 7
needExp: 40
6:
needExp: 50
7:
paintCooldown: 6
needExp: 60
8:
needExp: 70
9:
paintCooldown: 5
needExp: 80
10:
paintCooldown: 4
needExp: 100
scoreboard: # Настройки скорборда
enable: true
# Заголовок
name: "&a&lPixelBattle"
# Указывается В ТИКАХ. (20 тиков = 1 секунда, 10 тиков = половина секунды). 0 - Если не нужно обновлять
refreshTime: 15
lines:
- "&eИгрок:"
- "&c%player%"
- " "
- "&eУровень:"
- "&a%level% &7(&c%exp%&8/&a%expToNextLevel%&7)"
- " "
- "&eЗакрашено:"
- "&a%painted%"
- " "
- "&eВ игре:"
- "&a%playedTime%"
- " "
- "&eОсталось: &6&l%time%"
leaderboards: # Таблицы лидеров в виде голограммы
# Название столбца с числовыми данными (Не трогайте, если не знаете, как с этим работать)
painted:
enable: false
# Тип данных, в который будет преобразовано значение. Либо INT - число, либо TIME - время в строке
valueType: INT
# Заголовок
title:
- "&eТаблица лидеров"
- "&e-= &bЗакрашенные пиксели &e=-"
# Формат строк
format: "&7%num%) &a%player% &8- &c%value%"
# Формат пустой строки
emptyFormat: "&7%num%) &cПусто"
# Количество строк (Строки заголовка не учитываются)
rows: 5
# Время обновления. Указывается в секундах. 0 - Если обновлять не требуется
updateDelay: 10
# Расположение
location:
world: "world"
x: 1
y: 1
z: 1
playedTime:
enable: false
# Тип данных, в который будет преобразовано значение. Либо INT - число, либо TIME - время в строке
valueType: TIME
# Заголовок
title:
- "&eТаблица лидеров"
- "&e-= &bВремя в игре &e=-"
# Формат строк
format: "&7%num%) &a%player% &8- &c%value%"
# Формат пустой строки
emptyFormat: "&7%num%) &cПусто"
# Количество строк (Строки заголовка не учитываются)
rows: 5
# Время обновления. Указывается в секундах. 0 - Если обновлять не требуется
updateDelay: 10
# Расположение
location:
world: "world"
x: 1
y: 1
z: 1
level:
enable: false
# Тип данных, в который будет преобразовано значение. Либо INT - число, либо TIME - время в строке
valueType: INT
# Заголовок
title:
- "&eТаблица лидеров"
- "&e-= &bИгровой уровень &e=-"
# Формат строк
format: "&7%num%) &a%player% &8- &c%value%"
# Формат пустой строки
emptyFormat: "&7%num%) &cПусто"
# Количество строк (Строки заголовка не учитываются)
rows: 5
# Время обновления. Указывается в секундах. 0 - Если обновлять не требуется
updateDelay: 10
# Расположение
location:
world: "world"
x: 1
y: 1
z: 1
messages: # Настройки сообщений. Вы можете использовать chat, title, actionBar, sound и broadcast в любом сообщении
welcome:
chat:
enable: true
lines:
- "&7Добро пожаловать на &ePixelBattle"
title:
enable: true
line1: "&7Добро пожаловать,"
line2: "&c%player%"
fadeIn: 20 # 1 sec
stay: 60 # 3 sec
fadeOut: 20 # 1 sec
actionBar:
enable: true
message: "&7Добро пожаловать на &ePixelBattle&7, &c%player%"
sound: # Названия звуков берите с сайта https://www.spigotmc.org/wiki/cc-sounds-list
enable: true
name: "ENTITY_PLAYER_LEVELUP"
broadcast:
enable: false
lines:
- "&7Игрок &e%player% &7присоединился к нам!"
levelUp: # Используется при leveling.enable = true
chat:
enable: true
lines:
- "&7Ваш уровень повышен до &e%level%"
- "&7Теперь доступно:"
- "%newFeatures%"
title:
enable: true
line1: "&a&lУровень повышен!"
# %pLevel% - прошлый уровень. %level% - новый уровень
line2: "&c%pLevel%&7->&a%level%"
fadeIn: 20 # 1 sec
stay: 60 # 3 sec
fadeOut: 20 # 1 sec
actionBar:
enable: false
message: "&7&lНовый уровень: &e%level%"
sound: # Названия звуков берите с сайта https://www.spigotmc.org/wiki/cc-sounds-list
enable: true
name: "ENTITY_PLAYER_LEVELUP"
broadcast:
enable: true
lines:
- "&7Игрок &c%player% &7повысил свой уровень с &c&l%pLevel% &7до &e&l%level%"
levelDown: # Используется при leveling.enable = true
chat:
enable: true
lines:
- "&7Ваш уровень понижен до &c%level%"
title:
enable: true
line1: "&c&lУровень понижен..."
# %pLevel% - прошлый уровень. %level% - новый уровень
line2: "&a%pLevel%&7->&c%level%"
fadeIn: 20 # 1 sec
stay: 60 # 3 sec
fadeOut: 20 # 1 sec
actionBar:
enable: false
message: "&7&lНовый уровень: &c%level%"
sound: # Названия звуков берите с сайта https://www.spigotmc.org/wiki/cc-sounds-list
enable: true
name: "BLOCK_ANVIL_BREAK"
broadcast:
enable: true
lines:
- "&7Уровень игрока &c%player% &7понижен с &a&l%pLevel% &7до &c&l%level%"
expReceived: # Используется при leveling.enable = true
actionBar:
enable: true
message: "&9+%exp% EXP"
sound: # Названия звуков берите с сайта https://www.spigotmc.org/wiki/cc-sounds-list
enable: true
name: "ENTITY_PLAYER_LEVELUP"
expLost: # Используется при leveling.enable = true
actionBar:
enable: true
message: "&c-%exp% EXP"
sound: # Названия звуков берите с сайта https://www.spigotmc.org/wiki/cc-sounds-list
enable: true
name: "BLOCK_ANVIL_BREAK"
pixelPainted:
chat:
enable: true
lines:
- "&7Вы успешно закрасили блок. Новый цвет: %color%"
title:
enable: true
line1: "&a&lУспешно"
line2: "&e&lВы закрасили блок"
fadeIn: 20 # 1 sec
stay: 60 # 3 sec
fadeOut: 20 # 1 sec
actionBar:
enable: true
message: "&7Вы закрасили блок цветом %color%"
sound:
enable: true
name: "ENTITY_EXPERIENCE_ORB_PICKUP"
pixelDelay:
chat:
enable: false
lines:
- "Вы сможете закрасить блок через %time%"
title:
enable: true
line1: " " # Пустая первая строка для отображения только второй
line2: "&cОсталось: &e%time%"
fadeIn: 0
stay: 60 # 3 sec
fadeOut: 0
sound:
enable: true
name: "ENTITY_ITEM_BREAK"
movingToServer: # Используется при standaloneServer.enable = true и exitItem.enable = true
chat:
enable: true
lines:
- "&aСейчас Вы будете перемещены на сервер &e%server%"
exitItemExit: # Используется при exitItem.enable = true и standaloneServer.enable = false
chat:
enable: true
lines:
- "&aВы успешно вышли из PixelBattle"
cmdNoPerm:
chat:
enable: true
lines:
- "&cУ вас недостаточно прав"
sound:
enable: true
name: "ENTITY_ITEM_BREAK"
cmdHelp:
chat:
enable: true
lines:
- "&e------------ &dPixelBattle &e------------"
- "&d/%cmd% &7join&f: Войти в PixelBattle"
- "&d/%cmd% &7leave&f: Выйти из PixelBattle"
- "&d/%cmd% &7timelapse <скорость>&f: Воспроизвести ТаймЛапс на полотне"
- "&d/%cmd% &7wipe&f: Провести вайп данных и истории полотна"
- "&d/%cmd% &7web&f: Работа с ВЕБ Инструментом"
- "&d/%cmd% &7users&f: Управление игроками"
- "&d/%cmd% &7mod&f: Модерация полотна"
cmdWebHelp:
chat:
enable: true
lines:
- "&e------------ &dВЕБ Инструмент &e------------"
- "&d/%cmd% &7web canvas&f: Создать картинку полотна (.png)"
- "&d/%cmd% &7web timelapse&f: Создать ТаймЛапс PixelBattle (.mp4)"
cmdUsersHelp:
chat:
enable: true
lines:
- "&e------------ &dУправление игроками &e------------"
- "&d/%cmd% &7users wipe <ник>&f: Обнулить данные об игроке"
- "&d/%cmd% &7users setLevel <ник> <число>&f: Установить уровень игроку"
- "&d/%cmd% &7users setExp <ник> <число>&f: Установить опыт игроку"
- "&d/%cmd% &7users setPainted <ник> <число>&f: Установить кол-во закрашенных пикселей игроку"
cmdModHelp:
chat:
enable: true
lines:
- "&e------------ &9Модерация &e------------"
- "&9/%cmd% &7mod rollback <ник> <радиус> <время>&f: Откатить закрашенные пиксели"
cmdModRollbackStart:
chat:
enable: true
lines:
- "&eОткат действий игрока &c%target%&e в радиусе &a%radius%&e за &b%time%&e начался..."
cmdModRollbackRunning:
actionBar:
enable: true
message: "&eОбработано: &c%now%&7/&a%total% &7(&b%success%&7)"
cmdModRollbackEnd:
chat:
enable: true
lines:
- "&aОткат действий игрока &c%target%&a завершился. Закрашиваний откачено: &e%count%"
cmdNoPlayer:
chat:
enable: true
lines:
- "&cИгрок &e%target% &cне найден"
sound:
enable: true
name: "ENTITY_ITEM_BREAK"
cmdAlreadyIn:
chat:
enable: true
lines:
- "&cИгрок &e%target% &cуже в PixelBattle"
sound:
enable: true
name: "ENTITY_ITEM_BREAK"
cmdNotIn:
chat:
enable: true
lines:
- "&cИгрок &e%target% &cне находится в PixelBattle"
sound:
enable: true
name: "ENTITY_ITEM_BREAK"
cmdSuccess:
chat:
enable: true
lines:
- "&aУспешно"
cmdIncorrect:
chat:
enable: true
lines:
- "&cНекорректно указаны данные"
timelapseStarting:
chat:
enable: true
lines:
- "&aНачалась подготовка ТаймЛапса. Скорость: &e%speed%"
timelapseStarted:
chat:
enable: true
lines:
- "&aНачалось воспроизведение ТаймЛапса. Кадров: &e%frames%&a, приблизительная продолжительность: &b%time%"
broadcast:
enable: true
lines:
- "&aИгрок &e%player% &aначал воспроизведение ТаймЛапса! Приблизительная продолжительность: &b%time%"
timelapseEnded:
broadcast:
enable: true
lines:
- "&aВоспроизведение ТаймЛапса завершено, полотно в актуальном состоянии"
canvasLocked:
chat:
enable: true
lines:
- "&cВы не можете взаимодействовать с полотном сейчас"
timelapseFrameCounter:
actionBar:
enable: true
message: "&7Кадр: &c%current%&7/&a%all%"
preventedSameColor: # Используется при preventPaintSame = true
chat:
enable: true
lines:
- "&cВы не можете закрасить блок этим же цветом (%color%&c)"
sound:
enable: true
name: "ENTITY_ITEM_BREAK"
wipeStarted:
chat:
enable: true
lines:
- "&cПроцесс вайпа начался... Не трогайте полотно"
noData:
chat:
enable: true
lines:
- "&cОтсутствуют необходимые данные для совершения этой операции: &e%data%"
webRequest:
chat:
enable: true
lines:
- "&eЗапрос отправлен. Ожидайте"
webAnswer:
chat:
enable: true
lines:
- "&aОтвет сервера: &e%answer%"
items: # Цвета. Вы можете добавить столько, сколько захотите. Ограничений нет
WHITE_WOOL: # Название блока
name: "&fБелый" # Отображаемое название
# Минимальный уровень, который требуется для использования этого цвета. Можно убрать
needLevel: 1
# Количество опыта, которое даёт закрашивание этим цветом. Можно убрать
givesExp: 1
permission: "-" # Право на использование. Если '-' - то права не нужны
glowing: false # Заставляет предмет переливаться (Можно убрать)
lore: # Настройка лора (Можно убрать)
- "&bВы можете установить лор каждому цвету"
- "&c&nИли просто удалить это =)"
ORANGE_WOOL:
name: "&6Оранжевый"
needLevel: 1
givesExp: 1
permission: "-"
MAGENTA_WOOL:
name: "&5Пурпурный"
needLevel: 2
givesExp: 1
permission: "-"
LIGHT_BLUE_WOOL:
name: "&bГолубой"
needLevel: 2
givesExp: 1
permission: "-"
YELLOW_WOOL:
name: "&eЖёлтый"
needLevel: 3
givesExp: 2
permission: "-"
LIME_WOOL:
name: "&aЛаймовый"
needLevel: 3
givesExp: 2
permission: "-"
PINK_WOOL:
name: "&dРозовый"
needLevel: 3
givesExp: 2
permission: "-"
GRAY_WOOL:
name: "&8Серый"
needLevel: 3
givesExp: 2
permission: "-"
LIGHT_GRAY_WOOL:
name: "&7Светло-серый"
needLevel: 3
givesExp: 2
permission: "-"
CYAN_WOOL:
name: "&3Бирюзовый"
needLevel: 4
givesExp: 2
permission: "-"
PURPLE_WOOL:
name: "&5Фиолетовый"
needLevel: 4
givesExp: 2
permission: "-"
BLUE_WOOL:
name: "&1Синий"
needLevel: 4
givesExp: 2
permission: "-"
BROWN_WOOL:
name: "&6Коричневый"
needLevel: 5
givesExp: 3
permission: "-"
GREEN_WOOL:
name: "&2Зелёный"
needLevel: 5
givesExp: 3
permission: "-"
RED_WOOL:
name: "&4Красный"
needLevel: 6
givesExp: 3
permission: "-"
BLACK_WOOL:
name: "&0Чёрный"
needLevel: 6
givesExp: 3
permission: "-"
GOLD_BLOCK:
name: "&6&lЗолотой"
givesExp: 10
glowing: true # Заставляет предмет переливаться (Можно убрать)
permission: "pixelbattle.colors.gold_block"
DIAMOND_BLOCK:
name: "&b&lГолубой"
givesExp: 10
glowing: true # Заставляет предмет переливаться (Можно убрать)
permission: "pixelbattle.colors.diamond_block"
# Бетон
WHITE_CONCRETE:
name: "&fБелый"
needLevel: 7
givesExp: 4
permission: "-"
ORANGE_CONCRETE:
name: "&6Оранжевый"
needLevel: 7
givesExp: 4
permission: "-"
MAGENTA_CONCRETE:
name: "&dСиреневый"
needLevel: 7
givesExp: 4
permission: "-"
LIGHT_BLUE_CONCRETE:
name: "&bСветло-синий"
needLevel: 7
givesExp: 4
permission: "-"
YELLOW_CONCRETE:
name: "&eЖёлтый"
needLevel: 7
givesExp: 4
permission: "-"
LIME_CONCRETE:
name: "&aЛаймовый"
needLevel: 8
givesExp: 4
permission: "-"
PINK_CONCRETE:
name: "&dРозовый"
needLevel: 8
givesExp: 4
permission: "-"
GRAY_CONCRETE:
name: "&8Серый"
needLevel: 8
givesExp: 4
permission: "-"
LIGHT_GRAY_CONCRETE:
name: "&7Светло-серый"
needLevel: 8
givesExp: 4
permission: "-"
CYAN_CONCRETE:
name: "&3Бирюзовый"
needLevel: 9
givesExp: 5
permission: "-"
PURPLE_CONCRETE:
name: "&5Фиолетовый"
needLevel: 9
givesExp: 5
permission: "-"
BLUE_CONCRETE:
name: "&1Синий"
needLevel: 9
givesExp: 5
permission: "-"
BROWN_CONCRETE:
name: "&6Коричневый"
needLevel: 9
givesExp: 5
permission: "-"
GREEN_CONCRETE:
name: "&2Зелёный"
needLevel: 10
givesExp: 6
permission: "-"
RED_CONCRETE:
name: "&4Красный"
needLevel: 10
givesExp: 6
permission: "-"
BLACK_CONCRETE:
name: "&0Чёрный"
needLevel: 10
givesExp: 6
permission: "-"
- Зависимости
- PlaceholderAPI (ОПЦИОНАЛЬНО)
- Команды и права
- Плагин на данный момент имеет всего одну команду - /pixelbattle и несколько субкоманд:
- /pixelbattle join - При активации перенаправляет Вас в PixelBattle. Можно использовать на других игроках. Например, можно отправить игрока Tester на PixelBattle - /pixelbattle join Tester
- /pixelbattle leave - При активации заставляет игрока выйти из PixelBattle. Можно использовать на других игроках. Например, можно выгнать игрока Tester с PixelBattle - /pixelbattle leave Tester
- /pixelbattle timelapse <скорость> - Позволяет проиграть ТаймЛапс ВНУТРИ ИГРЫ. Анимация будет показана прямо на полотне PixelBattle, во время проигрывания у инициатора в actionbar будет отображаться прогресс анимации - отношение проигранных кадров к общему их числу. Во время анимации игроки не смогут взаимодействовать с полотном. Прервать анимацию нельзя, грамотно рассчитывайте скорость воспроизведения. Скорость одного кадра указывается в МИЛЛИСЕКУНДАХ - по умолчанию 8. 1000 Миллисекунд = 1 секунда
- /pixelbattle wipe - Запускает процесс удаления данных и истории полотна PixelBattle. Удаленные данные восстановить нельзя, используйте с осторожностью
- /pixelbattle web canvas - Возвращает в ответ ссылку на картинку .png Вашего полотна
- /pixelbattle web timelapse - Запускает процесс создания ТаймЛапса и возвращает в ответ ссылку на отслеживание статуса создания
- /pixelbattle users - Позволяет управлять данными игроков. Например, устанавливать игровой уровень, количество закрашенных пикселей или просто обнулить данные об игроке
- /pixelbattle mod - Позволяет управлять полотном, а именно откатывать определённые действия на нём