Браузерный редактор GUI для плагина AdvancedGUI (Minecraft)
Сообщить о баге
·
Предложить фичу
Содержание
Редактор собирает GUI для плагина AdvancedGUI на холсте: компоненты, действия, проверки. Готовый лейаут экспортируется в JSON или отправляется в запущенный плагин по сети (live-sync). Проекты хранятся в браузере, на сторонние серверы ничего не уходит.
(наверх)
(наверх)
- Node.js 18+ и npm
git clone https://github.com/gitKBDL/AdvancedGUI-CE.git
cd AdvancedGUI-CE
npm install
npm run dev # http://localhost:5173(наверх)
- Собери интерфейс на холсте: перетаскивание, ресайз, выравнивание, привязка к сетке. Структуру удобно держать в дереве компонентов; поведение задаётся действиями и проверками.
- Отправь результат на сервер — либо экспортом в JSON (
plugins/AdvancedGUI/layout/→/ag reload), либо вживую через live-sync.
Редактор ставится как приложение (PWA): в Chrome/Edge — иконка установки в адресной строке. После установки работает офлайн.
(наверх)
Редактор подключается к WebSocket-серверу плагина (порт 27757 по умолчанию) и при изменениях отправляет текущий лейаут. Плагин применяет его на лету — без перезаливки файла и без внешних сервисов.
- На сервере: лейаут загружен, затем
/ag sync <key> <layout>(команду показывает панель Live-sync). - Редактор открыт по
http://localhost(npm run dev). - В панели:
ws://localhost:27757→ Connect.
Ограничения:
- С https-страницы (в том числе с онлайн-демо) браузер блокирует
ws://как mixed-content, включаяws://localhost. Для live-sync редактор нужно открывать поhttp://localhost, либо ставитьwss://reverse-proxy перед плагином. - Ресурсы (картинки, гифки, шрифты) через sync не передаются — после их изменения нужно перезалить layout-файл.
- Порт 27757 принимает данные без аутентификации. Держите его на loopback, наружу не пробрасывайте.
(наверх)
Вывод сериализации сверяется с десериализаторами плагина: контрактные тесты проверяют, что convertToFinalized выдаёт ровно тот формат, который плагин разбирает (цвета, шрифты, изображения/гифки, проверки, выравнивание, действия), плюс санитайзер импорта и переназначение ID.
npm test # все тесты
npm run coverage # с покрытием
npm run typecheck # проверка типов(наверх)
- Сделай форк репозитория.
- Создай ветку:
git checkout -b feature/имя. - Закоммить изменения:
git commit -m 'описание'. - Запушь ветку:
git push origin feature/имя. - Открой Pull Request.
Перед PR прогоняй npm test, npm run lint и npm run typecheck.
(наверх)
MIT. Подробности — в файле LICENSE.
(наверх)