TinyEssentials
Обзор
TinyEssentials — это «базовый» слой сервера BTC, вдохновлённый EssentialsX и построенный на TypeWriter. Он приносит 29 команд для игроков и персонала (дома, запросы телепортации, сообщения, полёт, ванш, лечение...), форматировщик чата, предметы при входе, штраф за смерть («падальщик», scavenger), менеджер списка игроков (tablist), скорборда и боссбаров, пользовательскую длину суток с календарём, меню быстрого перемещения и внутриигровую вики.
Всё настраивается в веб-панели. Каждая команда — отдельная запись, поэтому вы выбираете её имя и право и добавляете только нужные команды. Сообщения собраны в одной записи конфигурации Tiny Essentials, а более крупные функции (дома, чат, tab, календарь) имеют свои записи.
Меню (дома, календарь, быстрое перемещение, вики) отрисовываются расширением GUI и макетом, который вы рисуете на странице.
Возможности
- 29 записей команд — fly, god, feed, heal, vanish, speed, gamemode, repair, back, TPA, сообщения, дома и другие, у каждой настраиваемые имя и право.
- Дома — дома для каждого игрока с лимитами по правам, перезарядками, постраничным меню с редактором (переименование, значок, удаление) и сохранённым хранилищем.
- Запросы телепортации —
/tpaи/tpahereс тайм-аутом, переключателем и историей/back. - Личные сообщения —
/msg,/replyи/msgtoggleс нейтрализованными цветовыми кодами. - Формат чата — форматы MiniMessage, выбираемые по праву и приоритету, общие для серверов через Redis, когда MySQL работает в общем режиме.
- Tablist, скорборд, боссбар — верхний и нижний колонтитулы, форматирование имён, сортировка, раскладка на 80 слотов, условия и анимации.
- Предметы при входе — предметы, выдаваемые при входе или возрождении, с командами по клику и флагами защиты.
- Падальщик (scavenger) — процентная потеря предметов и опыта при смерти, защищённые предметы и штрафы на основе плейсхолдеров.
- Пользовательское время и календарь — длина суток, календарь с месяцами, днями недели и событиями, меню календаря, факты, фильтр аудитории и плейсхолдеры.
- Быстрое перемещение и вики — меню перемещения по регионам с criteria блокировки и внутриигровое руководство из разделов и статей.
Установка
- Установите PacketEvents, нужный функциям tablist.
- Установите расширение MySQL, которое TinyEssentials объявляет зависимостью (Redis используется для межсерверного чата и списка tab), и расширение GUI для меню.
- По желанию установите Translate, чтобы переводить сетевой чат для игроков на других серверах.
- Положите JAR-файл TinyEssentials в
plugins/Typewriter/extensions/и перезапустите сервер. - Выдайте права на команды (см. таблицу прав) через ваш плагин прав. Функции tab на основе групп читают права с названиями
group.<name>.
Быстрый старт
- В веб-панели TypeWriter откройте страницу static и добавьте одну запись Tiny Essentials. Без неё каждая команда отвечает, что TinyEssentials не настроен. Настройте
defaultTeleportCooldown,tpaTimeoutSeconds,backBufferSizeи сообщения. - Добавьте нужные записи команд, например /fly, /tpa и /back. Оставьте или измените
commandNameиpermission. - Для домов добавьте Artifact Home и Home Manager, ссылающийся на него в
artifact, затем добавьте /home и остальные команды домов. - Для формата чата добавьте Chat Format с
groups, напримерowner(правоgroup.owner,priority10,format<gold>[Owner] <player><white>: <message>) иfallbackFormat. - Опубликуйте, выдайте права и проверьте с игроком.
Сообщения в Tiny Essentials и Home Manager используют цветовые коды & и токены вида {player}. Форматы чата, tablist и меню используют MiniMessage.
Как это работает
Каждая запись функции читается, когда она нужна. Используйте по одной записи каждого вида (один Tiny Essentials, один Home Manager, один Chat Format, один Join Item, один Scavenger): расширение берёт первую найденную.
Конфигурация
Помимо записей, TinyEssentials опирается на следующие правила времени выполнения.
- Перезарядка телепортации —
/backи/tpaждутdefaultTeleportCooldownсекунд или наибольшийcooldownSecondsсредиcooldownRules, право которых есть у игрока. Если не включёнallowMovement, движение отменяет телепортацию. Телепортации жемчугом Края или приземлением после плода хоруса в историю/backне попадают. - Ванш и переключатели — состояния vanish,
/msgtoggleи/tpatoggleхранятся на игроке, поэтому переживают перезапуски и переподключения. - Сетевые функции — чат и список tab используют Redis, когда расширение MySQL работает с общей областью; иначе они остаются локальными.
- Устаревшие поля в Tiny Essentials — поля с названиями
...Command(msgCommand,flyCommand...) иbasePermissionне применяются: названия команд и права находятся в записях команд. Эти поля с названиями появляются только в сообщениях об использовании. Поля tabbossbarToggleCommandиscoreboardToggleCommandтоже не регистрируются как команды.
Меню
TinyEssentials добавляет типы кнопок для страниц, построенных с помощью расширения GUI.
| Меню | Запись | Типы кнопок |
|---|---|---|
| Дома | Home Manager (меню настраиваются в самой записи) | Нет: макет задаётся в homesMenu и homeEditorMenu. |
| Календарь | Calendar Menu | calendar_button:DAY, WEEKDAY, EVENT, CALENDAR_SUMMARY, MONTH_NAV |
| Быстрое перемещение | Fast Travel Menu | travel_button:REGION_TAB, DESTINATION, REGION_SUMMARY |
| Вики | Wiki Menu | wiki_button:SECTION_TAB, ARTICLE, PAGE_NAV |
Меню календаря, быстрого перемещения и вики используют один подход: общее шасси open_gui (baseMenuId), пул макетов и представления. Индексированные кнопки вроде DAY или DESTINATION заполняются по порядку из данных (сетка — верхний предел отображения, лишние слоты остаются пустыми).
Меню домов постраничное, с кнопками «назад», «вперёд» и закрытия, предметом-заполнителем, предметом для пустых слотов домов и редактором, открываемым кликом по дому: телепортация, переименование в чате (введите cancel для отмены), установка значка из предмета в руке, сброс значка и удаление.
Команды
Все команды — это команды brigadier, регистрируемые записями, поэтому у клиентов есть автодополнение. У команд нет псевдонимов. Без нужного права команда скрыта. Команды, нацеленные на игрока, принимают селектор игроков; действие над другим игроком требует соответствующего права .others, которое проверяется при выполнении команды.
Команды для себя и персонала
| Команда | Описание | Право |
|---|---|---|
/fly [player] | Переключает полёт. | tinyessentials.fly (для других: tinyessentials.fly.others) |
/god [player] | Переключает неуязвимость. | tinyessentials.god (для других: .god.others) |
/feed [player] | Восстанавливает сытость и насыщение. | tinyessentials.feed (для других: .feed.others) |
/heal [player] | Восстанавливает здоровье, сытость, воздух и снимает огонь и замерзание. | tinyessentials.heal (для других: .heal.others) |
/vanish [player] | Переключает невидимость для других игроков; сохраняется после переподключения. | tinyessentials.vanish (для других: .vanish.others) |
/gamemode <survival|creative|adventure|spectator> [player] | Меняет режим игры. | tinyessentials.gamemode (для других: .gamemode.others) |
/speed <value> [walk|fly|sneak] [player] и /speed reset [walk|fly|sneak] | Задаёт скорость от -20 до 20. Работает только в творческом режиме. Без типа летящие игроки получают скорость полёта, остальные — скорость ходьбы. Изменение скорости другого игрока требует .speed.others. | tinyessentials.speed (для других: .speed.others) |
/suicide | Убивает вас. | tinyessentials.suicide |
/repair | Чинит инструмент, оружие или броню в руке (не блоки, не неразрушаемые предметы). | tinyessentials.repair |
/invsee <player> | Открывает инвентарь другого игрока. Для его редактирования нужно tinyessentials.inventory.edit. | tinyessentials.inventory (цель: .inventory.others) |
/pocketmenu <type> [--consume] | Открывает ванильное меню: workbench, enchanting, anvil, smithing, grindstone, cartography, stonecutter, loom или brewing. --consume заставляет стол зачарований расходовать уровни. | tinyessentials.pocketmenu |
Команды телепортации
| Команда | Описание | Право |
|---|---|---|
/back | Возвращает на предыдущее место с перезарядкой. | tinyessentials.back |
/tpa <player> | Просит телепортироваться к игроку. | tinyessentials.tpa |
/tpahere <player> | Просит игрока телепортироваться к вам. | tinyessentials.tpahere |
/tpaccept [player] | Принимает последний запрос или запрос от названного игрока. | tinyessentials.tpaccept |
/tpadeny [player] | Отклоняет последний запрос или запрос от названного игрока. | tinyessentials.tpadeny |
/tpatoggle | Останавливает или возобновляет получение запросов. | tinyessentials.tpatoggle |
/tppos <x> <y> [z] | Телепортирует по координатам. | tinyessentials.tppos |
/tpall | Телепортирует к вам всех игроков в сети. | tinyessentials.tpall |
/getpos | Показывает вашу позицию, поворот и мир. | tinyessentials.getpos |
Сообщения
| Команда | Описание | Право |
|---|---|---|
/msg <player> <message> | Отправляет личное сообщение. | tinyessentials.msg |
/reply <message> | Отвечает в последней переписке. | tinyessentials.reply |
/msgtoggle | Останавливает или возобновляет получение личных сообщений. | tinyessentials.msgtoggle |
Дома — они также требуют basePermission Home Manager, если вы его задали.
| Команда | Описание | Право |
|---|---|---|
/home [name] | Телепортирует к дому; без имени — к дому с названием home. | tinyessentials.homes.teleport |
/home list (или ls) | Открывает меню домов. | tinyessentials.homes.list |
/home set|add|create|save [name] | Сохраняет дом в вашей позиции. | tinyessentials.homes.set |
/home delete|del|remove|rm [name] | Удаляет дом. | tinyessentials.homes.delete |
/sethome [name] | Сохраняет дом. | tinyessentials.homes.set |
/delhome [name] | Удаляет дом. | tinyessentials.homes.delete |
/homes | Открывает меню домов. | tinyessentials.homes.list |
Календарь
| Команда | Описание | Право |
|---|---|---|
/calendar | Открывает календарь на текущем месяце. /calendar month <prev|next|current> <player> используется кнопками меню. | tinyessentials.calendar (оставьте пустым, чтобы права не требовалось) |
/timefact | Выводит строки связанной записи Time Fact. | tinyessentials.timefact (оставьте пустым, чтобы права не требовалось) |
Поле permission каждой записи команды по умолчанию равно праву из таблиц выше. Название команды меняется через commandName.
Права
| Право | Даёт доступ к |
|---|---|
tinyessentials.<command> | Использованию команды, как указано выше (значения по умолчанию поля permission). |
tinyessentials.fly.others, god.others, feed.others, heal.others, vanish.others, gamemode.others, speed.others | Применению команды к другому игроку. |
tinyessentials.inventory.others | Открытию инвентаря другого игрока через /invsee. |
tinyessentials.inventory.edit | Перемещению предметов в просматриваемом инвентаре. |
tinyessentials.homes.bypass (bypassPermission) | Игнорированию лимитов домов и перезарядок телепортации. |
tab.staff | Учитывается в <tab_staffonline>. |
group.<name> | Выбирает группу tab и сортировку по группам. |
Поля вроде generalPermission, permission, cooldownRules, permissionLimits | Права, которые вы выбираете в записях. |
Плейсхолдеры
TinyEssentials регистрирует два расширения MiniPlaceholders, используемые как теги MiniMessage.
| Плейсхолдер | Возвращает |
|---|---|
<tab_online> | Игроки в сети. |
<tab_staffonline> | Игроки в сети с tab.staff. |
<tab_worldonline> | Игроки в мире смотрящего. |
<tab_memory_used> / <tab_memory_max> | Используемая и максимальная память в МБ. |
<tab_tps> | TPS сервера (за 1 минуту) с двумя знаками после запятой. |
<tab_date> / <tab_time> | Реальная дата машины (dd.MM.yyyy) и время (HH:mm:ss). |
<tab_animation:name> | Текущий кадр анимации Tab Configuration. |
<calendar_date> | Дата календаря, например 3 Spring, an 12. |
<calendar_time> / <calendar_time_12h> | Игровое время в 24- или 12-часовом формате. |
<calendar_day>, <calendar_month>, <calendar_month_index>, <calendar_year>, <calendar_weekday> | Части даты календаря. |
<calendar_day_of_year>, <calendar_total_day> | Номер дня в году и с начала отсчёта. |
<calendar_event> | Название первого события сегодняшнего дня, пусто, если его нет. |
<calendar_next_event>, <calendar_next_event_days> | Название следующего события и число дней до него. |
Каждый плейсхолдер calendar принимает в качестве аргумента id записи Minecraft Time, например <calendar_date:my_calendar_id>; без него используется первый календарь. Они возвращают пустой текст, когда записи Minecraft Time не существует.
Текстовые поля Home Manager используют {home}, {limit}, {cooldown}, {count}, {world} и подобные токены, указанные в справке каждого поля; тексты TPA и сообщений используют {player}, {time}, {sender}, {receiver} и {message}.
Записи
Записей: 50, сгенерированы из исходного кода расширения.
Действия3
- BTC Calendar MenuBTC Calendar Menu
- BTC Fast Travel MenuBTC Fast Travel Menu
- BTC Wiki MenuBTC Wiki Menu
Факты3
- Calendar Event FactCheck calendar events
- Is Day FactCheck calendar day/night phases
- Time Period FactCheck if the time is inside a range
Аудитории1
- Time Window AudienceFilter players using the TinyEssentials calendar
Команды29
- Tinyessentials Back CommandCommande /back
- Tinyessentials Calendar CommandCommande d'ouverture du calendrier
- Tinyessentials Delhome CommandCommande /delhome
- Tinyessentials Feed CommandCommande /feed
- Tinyessentials Fly CommandCommande /fly
- Tinyessentials Gamemode CommandCommande /gamemode
- Tinyessentials Getpos CommandCommande /getpos
- Tinyessentials God CommandCommande /god
- Tinyessentials Heal CommandCommande /heal
- Tinyessentials Home CommandCommande /home
- Tinyessentials Homes CommandCommande /homes
- Tinyessentials Invsee CommandCommande /invsee
- Tinyessentials Msg CommandCommande /msg
- Tinyessentials Msgtoggle CommandCommande /msgtoggle
- Tinyessentials Pocketmenu CommandCommande /pocketmenu
- Tinyessentials Repair CommandCommande /repair
- Tinyessentials Reply CommandCommande /reply
- Tinyessentials Sethome CommandCommande /sethome
- Tinyessentials Speed CommandCommande /speed
- Tinyessentials Suicide CommandCommande /suicide
- Tinyessentials Timefact CommandCommande d'affichage de la date
- Tinyessentials Tpa CommandCommande /tpa
- Tinyessentials Tpaccept CommandCommande /tpaccept
- Tinyessentials Tpadeny CommandCommande /tpadeny
- Tinyessentials Tpahere CommandCommande /tpahere
- Tinyessentials Tpall CommandCommande /tpall
- Tinyessentials Tpatoggle CommandCommande /tpatoggle
- Tinyessentials Tppos CommandCommande /tppos
- Tinyessentials Vanish CommandCommande /vanish
Плейсхолдеры1
- Minecraft TimeCustomise the length of days and manage a calendar
Артефакты2
- Artifact CalendarPersistent anchor for the custom calendar
- Artifact HomePersistent storage for player homes
Манифесты11
- Chat FormatFormat chat messages based on player groups
- FactProvide time related facts based on the minecraft_time entry
- Fast Travel DestinationDestination de voyage rapide
- Fast Travel RegionRegion de voyage rapide
- Home ManagerManage player homes with permissions and cooldowns
- Join ItemGive players custom items when they join
- ScavengerSave inventory and experience with penalties
- Tab ConfigurationConfigure TAB features for tablist, scoreboard, bossbar and more
- Tiny EssentialsEssential commands with configurable messages and cooldowns
- Wiki ArticleArticle du guide en jeu
- Wiki SectionSection du guide en jeu
Устранение неполадок
TinyEssentials n'est pas configure : ajoutez une entree 'tiny_essentials' a une page. Команда была выполнена без опубликованной записи Tiny Essentials. Добавьте её на страницу static и опубликуйте.
Команда не существует или скрыта. Каждая команда — это запись: добавьте соответствующую запись tinyessentials_..._command, опубликуйте и выдайте игроку её permission. Название команды, изменённое в commandName, заменяет прежнее.
Les maisons ne sont pas configurees. Нет записи Home Manager. При ошибках хранилища (stockage des homes est indisponible) проверьте, что artifact у Home Manager указывает на Artifact Home.
Игроки вообще не могут писать в чат. Задан generalPermission записи Chat Format, а у игрока его нет: сообщение чата отменяется. Оставьте поле пустым или выдайте право.
/back сообщает, что предыдущего места нет. Записываются только телепортации, выполненные командами и плагинами. Жемчуг Края и плоды хоруса игнорируются, а история хранит последние backBufferSize мест.
/speed сообщает, что доступна только в творческом режиме. Команда намеренно ограничена творческим режимом, чтобы не конфликтовать с RPG-характеристиками.
Функции tablist ничего не делают. Должен быть установлен PacketEvents. tablistFormattingEnabled, layoutEnabled, bossbarEnabled и scoreboardEnabled — отдельные переключатели, причём последние три по умолчанию выключены.
Плейсхолдеры календаря пусты. Не опубликована запись Minecraft Time или аргумент не совпадает с id существующей записи. Меню или команде календаря также нужна связь minecraft_time.