Skip to content

💻 Настройка среды разработки и сборка

В данном руководстве описаны требования к среде, команды сборки 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:

  1. ContinuumMathTest.java:
    • Проверка офлайн-роста ванильных и модовых культур.
    • Проверка правила заморозки ($-1 \to \text{effectiveDelta} = 0$).
    • Проверка очистки меток старше 30 дней ($51,840,000\text{ тактов}$).
    • Проверка геометрии колец Чебышёва ($r = \max(|dx|, |dz|)$).
  2. AgrarianConfigTest.java:
    • Проверка стабильности схемы конфигурации по умолчанию.
    • Проверка иерархии множителей (переопределение, заморозка, глобальный).
    • Проверка дедупликации обнаруженных культур.
    • Проверка потокобезопасного флага изменений.
bash
# Запустить все автоматические тесты
./gradlew test

🔒 Обязательный заголовок лицензии

Все исходные файлы Java должны содержать стандартный заголовок авторских прав:

java
// Copyright (C) 2026 Dasik (Rifaditya) | GNU GPLv3

See also: Архитектура и миксины and Совместимость версий и жизненный цикл.

Official documentation & web portal for Dasik Igaijinn mods.