mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-07-13 02:15:46 +00:00
4.4 KiB
4.4 KiB
Minecraft Version Bump Checklist
gradle.properties minecraftVersion is the single source of truth for the target Minecraft
version. Most build outputs derive from it. This document lists every edit required to move Iris
to a new Minecraft version, in order.
Source of truth
gradle.properties:
minecraftVersion— target MC version (e.g.26.2). Drives the Bukkit pluginapi-version,BuildConstants.MINECRAFT_VERSION, thecom.mojang:minecraftcoordinate, all mod-metadata minecraft ranges, and every dist/jar artifact name.fabricLoaderVersion— Fabric Loader version.forgeVersion— Forge version (<mc>-<forge>).neoForgeVersion— NeoForge version.irisVersion— bump the trailing-<mc>suffix to match (e.g.4.0.0-26.2->4.0.0-27.0).
Ordered steps
-
Edit
gradle.properties: updateminecraftVersion,fabricLoaderVersion,forgeVersion,neoForgeVersion, and theirisVersionsuffix. -
Edit
gradle/libs.versions.toml:spigot— the Spigot/Paper API pin used to compile against (<mc>-R0.1-SNAPSHOT).fabricApi-*— the six Fabric API module versions, if the new MC requires different Fabric API builds. Each module is versioned independently (<version>+<build-hash>).
-
Edit
core/src/main/java/art/arcane/iris/core/nms/datapack/DataVersion.java(manual, structural):- Append a new enum constant
V<major>_<minor>("<mc>", <packFormat>, <DataFixer>::new). packFormatcomes from https://minecraft.wiki/w/Pack_format.getLatest()returns the last enum constant, so append; do not reorder.- Add a matching
IDataFixerimplementation undercore/src/main/java/art/arcane/iris/core/nms/datapack/if the datapack format changed.
- Append a new enum constant
-
Register the new Bukkit NMS binding module:
settings.gradle— addinclude(':adapters:bukkit:nms:v<major>_<minor>_R<rev>').build.gradle— add the binding to thenmsBindingsmap:v<major>_<minor>_R<rev>: '<spigot-nms-build-version>'(e.g.'26.2.build.25-alpha').- Create the binding sources under
adapters/bukkit/nms/v<major>_<minor>_R<rev>/.
-
Update loader version-range metadata (manual floors/ranges only; the
minecraftranges are templated fromminecraftVersionand need no edit):adapters/fabric/src/main/resources/fabric.mod.json—minecraftis~${minecraftVersion}(auto). Update thefabricloaderfloor (>=0.19.0) if the loader minimum changes, and thejarslist if the bundled Fabric API modules change.adapters/forge/src/main/resources/META-INF/mods.toml—minecraftversionRange is[${minecraftVersion}](auto). UpdateloaderVersion([64,)) and theforgedependency versionRange for the new Forge line.adapters/neoforge/src/main/resources/META-INF/neoforge.mods.toml—minecraftversionRange is[${minecraftVersion}](auto). UpdateloaderVersionand theneoforgedependency range if the loader minimum changes.
-
Build and verify:
./gradlew :core:check./gradlew buildBukkit./gradlew buildFabric./gradlew buildForge./gradlew buildNeoforge
Derived automatically (do not hand-edit on a version bump)
- Bukkit plugin
api-version—adapters/bukkit/plugin/build.gradlereadsminecraftVersion. BuildConstants.MINECRAFT_VERSION— stamped by thegenerateTemplatestask incore/build.gradlefromminecraftVersion; consumed byTasks.supportedVersions.- Mod-metadata
minecraftversion ranges — templated fromminecraftVersionatprocessResources. - Dist/jar artifact names and the
com.mojang:minecraftcoordinate — composed fromminecraftVersionin the build scripts.
Notes
build.gradle, the adapterbuild.gradlefiles, andsettings.gradlecarry.getOrElse('26.2')defensive defaults for the version properties.gradle.propertiesalways overrides them, so a bump does not require touching those fallbacks; refresh them only if the checked-in default should track the current release.- The Java literal
"26.2"intentionally remains inDataVersion.java(structural enum constant),core/src/test/java/art/arcane/iris/core/nms/MinecraftVersionTest.java, andcore/src/test/java/art/arcane/iris/core/lifecycle/PaperLibBootstrapTest.java. The test files use MC version strings as parser fixtures, not as a version source; update them only when the version string formats they exercise change.