- Add comprehensive documentation in docs/ folder - Update README.md with modern design and badges - Improve configuration with new options (GUI, limits, notifications) - Add support for Minecraft 1.19.2-1.21.4 and Java 17+ - Create GPL-3.0 license - Add modrinth/ folder with project description for publishing - Add CONTRIBUTING.md for contributors - Update plugin.yml with aliases and better permissions - Improve build.gradle.kts with better compatibility and encoding - Update .gitignore for cleaner repository
4.4 KiB
4.4 KiB
Участие в разработке
Спасибо за интерес к проекту Loreport! Мы приветствуем любой вклад в развитие плагина.
Как внести вклад
🐛 Сообщение об ошибках
- Проверьте, что ошибка еще не была сообщена в Issues
- Создайте новый issue с подробным описанием:
- Версия плагина
- Версия Minecraft и серверного ПО
- Шаги для воспроизведения
- Ожидаемое поведение
- Фактическое поведение
- Логи ошибок
💡 Предложения новых функций
- Проверьте Discussions
- Создайте новое обсуждение с описанием:
- Описание функции
- Зачем она нужна
- Как должна работать
- Примеры использования
🔧 Внесение изменений в код
- Форкните репозиторий
- Создайте ветку для ваших изменений:
git checkout -b feature/amazing-feature - Внесите изменения
- Добавьте тесты для новой функциональности
- Убедитесь что все тесты проходят:
./gradlew test - Зафиксируйте изменения:
git commit -m 'Add amazing feature' - Отправьте в ваш форк:
git push origin feature/amazing-feature - Создайте Pull Request
Стандарты кода
Java
- Используйте Java 17+ синтаксис
- Следуйте Google Java Style Guide
- Добавляйте JavaDoc для публичных методов
- Используйте осмысленные имена переменных и методов
Тестирование
- Покрывайте новую функциональность тестами
- Используйте JUnit 5 для unit тестов
- Используйте jqwik для property-based тестов
- Тесты должны быть быстрыми и независимыми
Коммиты
Используйте Conventional Commits:
feat:- новая функцияfix:- исправление ошибкиdocs:- изменения в документацииstyle:- форматирование кодаrefactor:- рефакторингtest:- добавление тестовchore:- обновление зависимостей и т.д.
Примеры:
feat: add cooldown system for reports
fix: resolve Discord webhook timeout issue
docs: update configuration guide
Настройка среды разработки
Требования
- Java 17+
- Git
- IDE (IntelliJ IDEA рекомендуется)
Настройка
- Клонируйте репозиторий:
git clone https://codeberg.org/loki5512344/Loreport.git
cd Loreport
- Соберите проект:
./gradlew build
- Запустите тесты:
./gradlew test
Структура проекта
src/
├── main/
│ ├── java/dev/loki/lorep/ # Основной код
│ └── resources/ # Ресурсы (config.yml, plugin.yml)
└── test/
└── java/dev/loki/lorep/ # Тесты
Процесс ревью
- Все Pull Request проходят ревью
- Код должен соответствовать стандартам проекта
- Все тесты должны проходить
- Новая функциональность должна быть покрыта тестами
- Документация должна быть обновлена при необходимости
Лицензия
Внося вклад в проект, вы соглашаетесь с тем, что ваш код будет распространяться под лицензией GPL-3.0.
Вопросы?
Если у вас есть вопросы, создайте обсуждение в Discussions или свяжитесь с мейнтейнером проекта.