💻 Настройка среды разработки и сборка
В данном руководстве описаны требования к среде, команды сборки Gradle и автоматические тесты для разработчиков Agrarian Reform.
🛠️ Предварительные требования среды
- Пакет разработки Java: JDK 25 (
release = 25). - Версия Gradle: Gradle 9.3+ (через обертку
./gradlew). - Fabric Loom: Loom 1.15.5.
- Маппинги: Современная среда без обфускации (официальные маппинги Mojang).
- Среда разработки: IntelliJ IDEA 2025.3+ или Eclipse с поддержкой Java 25.
🏗️ Структура подпроектов для нескольких версий
Agrarian Reform строго следует правилу 1 Jar 1 Version с отдельными подпроектами для каждой версии Minecraft:
Agrarian Reform/
├── Agrarian Reform v26.2/
│ └── agrarian-reform/ (Targets MC 26.2 / ">=26.2-")
├── Agrarian Reform v26.3/
│ └── agrarian-reform/ (Targets MC 26.3 / ">=26.3-")
└── Archive Jar of all versions/
├── MC 26.2/
└── MC 26.3/Сборка из исходного кода
bash
# Клонировать репозиторий
git clone https://github.com/Rifaditya/Agrarian-reform-MC-mod.git
# Собрать JAR для MC 26.2
cd "Agrarian Reform v26.2/agrarian-reform"
./gradlew check test build --no-daemon
# Собрать JAR для MC 26.3
cd "../../Agrarian Reform v26.3/agrarian-reform"
./gradlew check test build --no-daemonСкомпилированные JAR-файлы проверяются и архивируются в папку Archive Jar of all versions/.
🧪 Автоматические headless-тесты
Автоматические тесты выполняются при вызове ./gradlew test и ./gradlew check:
ContinuumMathTest.java:- Проверка офлайн-роста ванильных и модовых культур.
- Проверка правила заморозки ($-1 \to \text{effectiveDelta} = 0$).
- Проверка очистки меток старше 30 дней ($51,840,000\text{ тактов}$).
- Проверка геометрии колец Чебышёва ($r = \max(|dx|, |dz|)$).
AgrarianConfigTest.java:- Проверка стабильности схемы конфигурации по умолчанию.
- Проверка иерархии множителей (переопределение, заморозка, глобальный).
- Проверка дедупликации обнаруженных культур.
- Проверка потокобезопасного флага изменений.
bash
# Запустить все автоматические тесты
./gradlew test🔒 Обязательный заголовок лицензии
Все исходные файлы Java должны содержать стандартный заголовок авторских прав:
java
// Copyright (C) 2026 Dasik (Rifaditya) | GNU GPLv3See also: Архитектура и миксины and Совместимость версий и жизненный цикл.
