Skip to content

About

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

Resources

Stars

2 stars

Watchers

1 watching

Forks

Repository files navigation

Contributors Forks Stargazers Issues MIT License


Logo

AdvancedGUI Community Editor

Браузерный редактор GUI для плагина AdvancedGUI (Minecraft)

Открыть онлайн

Сообщить о баге · Предложить фичу

Содержание
  1. О проекте
  2. Запуск
  3. Использование
  4. Live-sync
  5. Тесты
  6. Участие
  7. Лицензия

О проекте

Редактор собирает GUI для плагина AdvancedGUI на холсте: компоненты, действия, проверки. Готовый лейаут экспортируется в JSON или отправляется в запущенный плагин по сети (live-sync). Проекты хранятся в браузере, на сторонние серверы ничего не уходит.

(наверх)

Стек

Vue TypeScript Vite Vitest

(наверх)

Запуск

Требования

  • Node.js 18+ и npm

Установка

git clone https://github.com/gitKBDL/AdvancedGUI-CE.git
cd AdvancedGUI-CE
npm install
npm run dev        # http://localhost:5173

(наверх)

Использование

  1. Собери интерфейс на холсте: перетаскивание, ресайз, выравнивание, привязка к сетке. Структуру удобно держать в дереве компонентов; поведение задаётся действиями и проверками.
  2. Отправь результат на сервер — либо экспортом в JSON (plugins/AdvancedGUI/layout/ → /ag reload), либо вживую через live-sync.

Редактор ставится как приложение (PWA): в Chrome/Edge — иконка установки в адресной строке. После установки работает офлайн.

(наверх)

Live-sync

Редактор подключается к WebSocket-серверу плагина (порт 27757 по умолчанию) и при изменениях отправляет текущий лейаут. Плагин применяет его на лету — без перезаливки файла и без внешних сервисов.

  1. На сервере: лейаут загружен, затем /ag sync <key> <layout> (команду показывает панель Live-sync).
  2. Редактор открыт по http://localhost (npm run dev).
  3. В панели: 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   # проверка типов

(наверх)

Участие

  1. Сделай форк репозитория.
  2. Создай ветку: git checkout -b feature/имя.
  3. Закоммить изменения: git commit -m 'описание'.
  4. Запушь ветку: git push origin feature/имя.
  5. Открой Pull Request.

Перед PR прогоняй npm test, npm run lint и npm run typecheck.

(наверх)

Лицензия

MIT. Подробности — в файле LICENSE.

(наверх)

About

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

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages