-
Notifications
You must be signed in to change notification settings - Fork 0
Developer Setup and Building
This guide provides complete instructions for setting up the developer environment, compiling release JARs, running automated JUnit reality tests, and contributing to Max Elytra Fly Speed.
To build Max Elytra Fly Speed from source, ensure your development machine meets the following environment requirements:
| Tool / Requirement | Minimum Version | Recommended / Configured Path | Purpose |
|---|---|---|---|
| Java Development Kit (JDK) | Java 25 (release = 25) |
E:/JDK25 / JAVA_HOME
|
Modern sovereign compiler |
| Gradle | 9.3+ | Bundled gradlew wrapper |
Build automation system |
| Fabric Loom | 1.15+ | net.fabricmc.fabric-loom |
Mod compilation and remapping |
| Git | 2.40+ | System PATH | Version control & Wiki sync |
The repository is organized into dedicated subproject directories under the 1 Jar 1 Version Policy:
Max Elytra Fly Speed/
├── .wiki/ # GitHub Wiki documentation tree
├── Archive Jar of all versions/ # Permanent archive of all built release JARs
│ ├── MC 26.2/ # Compiled JARs for MC 26.2
│ └── MC 26.3/ # Compiled JARs for MC 26.3
├── Max Elytra Fly Speed v26.2/ # MC 26.2 Workspace
│ └── Max Elytra Fly Speed 26.2/ # Active Loom subproject root
│ ├── build.gradle # Subproject build configuration
│ ├── gradle.properties # Dependency versions (1.0.19+26.2)
│ └── src/ # Java source, assets, and JUnit tests
└── Max Elytra Fly Speed v26.3/ # MC 26.3 Workspace
└── Max Elytra Fly Speed 26.3/ # Active Loom subproject root
├── build.gradle # Subproject build configuration
├── gradle.properties # Dependency versions (1.0.19+26.3)
└── src/ # Java source, assets, and JUnit tests
Execute Gradle commands from within the respective subproject folder:
# Navigate to the target subproject directory
cd "Max Elytra Fly Speed v26.2/Max Elytra Fly Speed 26.2"
# Compile release JAR (with Loom optimizations)
./gradlew build --no-daemonThe compiled artifact will be located in build/libs/max-elytra-fly-speed-1.0.19+26.2.jar.
./gradlew test --no-daemonMax Elytra Fly Speed implements automated headless JUnit reality test suites in src/test/java/ verifying all mathematical algorithms, vector bounds, and null safety without launching heavy Minecraft client instances:
Located at src/test/java/net/instantgratification/maxelytraflyspeed/test/ElytraDragHelperTest.java:
-
Vanilla Drag Parity: Asserts exact vanilla
$0.99H / 0.98V$ drag multipliers when flight speed is at or below$50\text{ BPS}$ . -
Dynamic Drag Reduction: Asserts relaxed drag floor scaling at
$100\text{ BPS}$ ($\text{loss}_H = 0.005, \text{loss}_V = 0.010$ ) and$200\text{ BPS}$ ($\text{loss}_H = 0.0025, \text{loss}_V = 0.0050$ ). -
Null Safety Guard: Asserts that passing
nullvelocity vectors returnsVec3.ZEROwithout throwingNullPointerException.
Located at src/test/java/net/instantgratification/maxelytraflyspeed/test/RocketBoostHelperTest.java:
-
Initial Snappy Boost: Asserts vanilla
$0.5$ convergence boost when flying below the$30\text{ BPS}$ initial boost threshold. -
Proportional High-Speed Acceleration: Asserts vector difference convergence towards target maximum speed when flying above
$30\text{ BPS}$ . - Velocity Ceiling Clamping: Asserts strict mathematical clamping when rocket boost calculations exceed the configured maximum flight speed ceiling.
-
Null Vector Safety: Asserts zero vector fallback when given
nullmovement ornulllook angle vectors.
To test builds directly in Minecraft:
- Build the subproject JAR via
./gradlew build --no-daemon. - Copy the resulting JAR to your active launcher profile
mods/folder:-
MC 26.2 Profile:
C:\Users\fmrif\AppData\Roaming\ModrinthApp\profiles\Fabric 26.2 (1)\mods -
MC 26.3 Profile:
C:\Users\fmrif\AppData\Roaming\ModrinthApp\profiles\Fabric 26.3ish\mods
-
MC 26.2 Profile:
- Purge any older version JARs to avoid Fabric Loader duplicate mod conflicts.
📌 Repository Source Disclaimer: The documentation in this Wiki reflects the current source code state in the repository, which may include recent unreleased commits or developmental features ahead of public release builds on CurseForge and Modrinth.
Max Elytra Fly Speed is developed and maintained by Dasik (Rifaditya) under the GNU General Public License v3.0 (GPLv3).
- 🇺🇸 English | 🇨🇳 简体中文 | 🇭🇰 繁體中文
- 🇷🇺 Русский | 🇪🇸 Español | 🇩🇪 Deutsch
- 🇫🇷 Français | 🇧🇷 Português | 🇯🇵 日本語
- 🇮🇩 Bahasa Indonesia | 🇰🇷 한국어
🇺🇸 English
- 📖 26.2 Overview
- 🌀 Kinetic Physics & Drag
- 🚀 Rocket Propulsion & Acceleration
- ⚙️ GameRules & Configuration
- 🧩 Architecture & Mixins