Modded 26.3 targets

- Fabric, Forge, and NeoForge build against Minecraft 26.3 with Fabric Loader 0.19.5, Forge 26.3-66.0.8, and NeoForge 26.3.0.33-beta
- Fabric API modules follow fabric-api 0.161.0+26.3, ForgeGradle is 7.0.40, and ModDevGradle is 2.0.147
- Loader metadata requires Fabric Loader 0.19.5, Forge 66, NeoForge 26.3, and Minecraft 26.3
- The mod resource pack declares formats 97.1 through 121.0
- The v26_3_R1 headless sources no longer unpack a version overlay
- The README lists the 26.3 loader targets
This commit is contained in:
Brian Neumann-Fopiano
2026-09-29 02:48:50 -04:00
parent b7626ab23f
commit 94c7181aec
12 changed files with 38 additions and 45 deletions
+3 -3
View File
@@ -23,9 +23,9 @@ Canonical English is defined in the typed Java catalogs under `core/src/main/jav
| Paper / Purpur / Leaf / Canvas | plugin jar | 26.1.2 - 26.2 | Full feature set |
| Folia | plugin jar | 26.1.2 - 26.2 | Region-safe scheduling throughout |
| Spigot / CraftBukkit | plugin jar | 26.1.2 - 26.2 | Managed `iris:*` creation and generation; exact vanilla-slot `/iris replace` is unavailable |
| Fabric | mod jar | 26.2 | Server worldgen + client HUD; requires Fabric Loader 0.19.3+ |
| Forge | mod jar | 26.2 | Server worldgen + client HUD; current target is Forge 26.2-65.1.1 |
| NeoForge | mod jar | 26.2 | Server worldgen + client HUD; current target is NeoForge 26.2.0.59 |
| Fabric | mod jar | 26.3 | Server worldgen + client HUD; requires Fabric Loader 0.19.5+ |
| Forge | mod jar | 26.3 | Server worldgen + client HUD; current target is Forge 26.3-66.0.8 |
| NeoForge | mod jar | 26.3 | Server worldgen + client HUD; current target is NeoForge 26.3.0.33-beta |
Java 25 is required on every platform.
+2 -2
View File
@@ -60,8 +60,8 @@ apply from: file('../../gradle/modded-generation-build-revision.gradle')
Properties rootProperties = new Properties()
file('../../gradle.properties').withInputStream { InputStream stream -> rootProperties.load(stream) }
String irisVersion = providers.gradleProperty('irisVersion').getOrElse(rootProperties.getProperty('irisVersion', '4.1.2-26.2'))
String minecraftVersion = providers.gradleProperty('minecraftVersion').getOrElse(rootProperties.getProperty('minecraftVersion', '26.2'))
String fabricLoaderVersion = providers.gradleProperty('fabricLoaderVersion').getOrElse(rootProperties.getProperty('fabricLoaderVersion', '0.19.3'))
String minecraftVersion = providers.gradleProperty('minecraftVersion').getOrElse(rootProperties.getProperty('minecraftVersion', '26.3'))
String fabricLoaderVersion = providers.gradleProperty('fabricLoaderVersion').getOrElse(rootProperties.getProperty('fabricLoaderVersion', '0.19.5'))
String volmLibCoordinate = providers.gradleProperty('volmLibCoordinate').getOrElse(rootProperties.getProperty('volmLibCoordinate', 'com.github.VolmitSoftware:VolmLib:master-SNAPSHOT'))
Closure<String> irisArtifactName = { String platform, String targetVersion ->
return "Iris v${project.version} [${platform}] ${targetVersion}.jar"
@@ -70,7 +70,7 @@
}
],
"depends": {
"fabricloader": ">=0.19.3",
"fabricloader": ">=0.19.5",
"minecraft": "~${minecraftVersion}",
"java": ">=25"
}
+4 -4
View File
@@ -42,7 +42,7 @@ buildscript {
plugins {
id 'java'
id 'net.minecraftforge.gradle' version '7.0.31'
id 'net.minecraftforge.gradle' version '7.0.40'
alias(libs.plugins.shadow)
}
@@ -60,8 +60,8 @@ apply from: file('../../gradle/modded-generation-build-revision.gradle')
Properties rootProperties = new Properties()
file('../../gradle.properties').withInputStream { InputStream stream -> rootProperties.load(stream) }
String irisVersion = providers.gradleProperty('irisVersion').getOrElse(rootProperties.getProperty('irisVersion', '4.1.2-26.2'))
String minecraftVersion = providers.gradleProperty('minecraftVersion').getOrElse(rootProperties.getProperty('minecraftVersion', '26.2'))
String forgeVersion = providers.gradleProperty('forgeVersion').getOrElse(rootProperties.getProperty('forgeVersion', '26.2-65.1.1'))
String minecraftVersion = providers.gradleProperty('minecraftVersion').getOrElse(rootProperties.getProperty('minecraftVersion', '26.3'))
String forgeVersion = providers.gradleProperty('forgeVersion').getOrElse(rootProperties.getProperty('forgeVersion', '26.3-66.0.8'))
String volmLibCoordinate = providers.gradleProperty('volmLibCoordinate').getOrElse(rootProperties.getProperty('volmLibCoordinate', 'com.github.VolmitSoftware:VolmLib:master-SNAPSHOT'))
Closure<String> loaderDisplayVersion = { String loaderVersion ->
String coordinatePrefix = "${minecraftVersion}-"
@@ -272,7 +272,7 @@ tasks.named('shadowJar', ShadowJar).configure {
}
}
manifest {
// FML 26.2 has no TOML mixin handling at all (ModFileParser reads neither [[mixins]] nor
// FML 26.3 has no TOML mixin handling at all (ModFileParser reads neither [[mixins]] nor
// accessTransformers on Forge). This manifest attribute is the only registration mechanism;
// do not move it into mods.toml.
attributes('MixinConfigs': 'volmlib.entity.mixins.json,volmlib.client.mixins.json')
@@ -1,5 +1,5 @@
modLoader = "javafml"
loaderVersion = "[65,66)"
loaderVersion = "[66,67)"
license = "GPL-3.0"
issueTrackerURL = "https://github.com/VolmitSoftware/Iris/issues"
@@ -16,7 +16,7 @@ logoFile = "assets/irisworldgen/icon.png"
[[dependencies.irisworldgen]]
modId = "forge"
mandatory = true
versionRange = "[65,66)"
versionRange = "[66,67)"
ordering = "NONE"
side = "BOTH"
@@ -1,7 +1,7 @@
{
"pack": {
"description": "Iris client resources and mod data",
"min_format": [88, 0],
"max_format": [107, 1]
"min_format": [97, 1],
"max_format": [121, 0]
}
}
+3 -3
View File
@@ -42,7 +42,7 @@ buildscript {
plugins {
id 'java'
id 'net.neoforged.moddev' version '2.0.141'
id 'net.neoforged.moddev' version '2.0.147'
alias(libs.plugins.shadow)
}
@@ -60,8 +60,8 @@ apply from: file('../../gradle/modded-generation-build-revision.gradle')
Properties rootProperties = new Properties()
file('../../gradle.properties').withInputStream { InputStream stream -> rootProperties.load(stream) }
String irisVersion = providers.gradleProperty('irisVersion').getOrElse(rootProperties.getProperty('irisVersion', '4.1.2-26.2'))
String minecraftVersion = providers.gradleProperty('minecraftVersion').getOrElse(rootProperties.getProperty('minecraftVersion', '26.2'))
String neoForgeVersion = providers.gradleProperty('neoForgeVersion').getOrElse(rootProperties.getProperty('neoForgeVersion', '26.2.0.59'))
String minecraftVersion = providers.gradleProperty('minecraftVersion').getOrElse(rootProperties.getProperty('minecraftVersion', '26.3'))
String neoForgeVersion = providers.gradleProperty('neoForgeVersion').getOrElse(rootProperties.getProperty('neoForgeVersion', '26.3.0.33-beta'))
String volmLibCoordinate = providers.gradleProperty('volmLibCoordinate').getOrElse(rootProperties.getProperty('volmLibCoordinate', 'com.github.VolmitSoftware:VolmLib:master-SNAPSHOT'))
Closure<String> irisArtifactName = { String platform, String targetVersion ->
return "Iris v${project.version} [${platform}] ${targetVersion}.jar"
@@ -25,7 +25,7 @@ logoFile = "assets/irisworldgen/icon.png"
[[dependencies.irisworldgen]]
modId = "neoforge"
type = "required"
versionRange = "[26.2,26.3)"
versionRange = "[26.3,26.4)"
ordering = "NONE"
side = "BOTH"
+5 -12
View File
@@ -70,12 +70,12 @@ project(':core') {
group = 'art.arcane'
version = rootProject.version
}
String minecraftVersion = providers.gradleProperty('minecraftVersion').getOrElse('26.2')
// The Bukkit jar retains 26.1.2 and 26.2 alongside 26.3; loader jars stay 26.2-only.
String minecraftVersion = providers.gradleProperty('minecraftVersion').getOrElse('26.3')
// The Bukkit jar retains 26.1.2 and 26.2 alongside 26.3; loader jars are 26.3-only.
String bukkitMinecraftRange = providers.gradleProperty('bukkitMinecraftRange').getOrElse('26.1.2-26.3')
String fabricLoaderVersion = providers.gradleProperty('fabricLoaderVersion').getOrElse('0.19.3')
String forgeVersion = providers.gradleProperty('forgeVersion').getOrElse('26.2-65.1.1')
String neoForgeVersion = providers.gradleProperty('neoForgeVersion').getOrElse('26.2.0.59')
String fabricLoaderVersion = providers.gradleProperty('fabricLoaderVersion').getOrElse('0.19.5')
String forgeVersion = providers.gradleProperty('forgeVersion').getOrElse('26.3-66.0.8')
String neoForgeVersion = providers.gradleProperty('neoForgeVersion').getOrElse('26.3.0.33-beta')
String volmLibCoordinate = providers.gradleProperty('volmLibCoordinate')
.orElse('com.github.VolmitSoftware:VolmLib:master-SNAPSHOT')
.get()
@@ -997,15 +997,8 @@ project(':adapters:bukkit:nms:v26_3_R1') {
TaskProvider<Sync> unpackHeadlessNativeSources = tasks.register('unpackHeadlessNativeSources', Sync) {
dependsOn(headlessNativeSources)
inputs.property('nativeTypes', headlessNativeTypes)
inputs.property('nativeVersion', '26.3')
from(provider { headlessNativeSources.collect { File artifact -> zipTree(artifact) } }) {
headlessNativeTypes.each { String type -> include("art/arcane/volmlib/nativelib/minecraft26_2/modded/${type}.java") }
include('versions/26.3/**')
eachFile { FileCopyDetails source ->
if (source.path.startsWith('versions/26.3/')) {
source.path = source.path.substring('versions/26.3/'.length())
}
}
}
from(rootProject.file('adapters/modded-common/src/main/java')) {
include('art/arcane/iris/modded/ModdedDecoratorHooks.java',
+4 -4
View File
@@ -22,10 +22,10 @@ org.gradle.caching=true
org.gradle.configureondemand=false
irisVersion=4.1.2-26.2
minecraftVersion=26.2
minecraftVersion=26.3
# Bukkit plugin api-version: lowest supported Minecraft release line so one artifact loads on 26.1.2 and 26.2
apiVersion=26.1
fabricLoaderVersion=0.19.3
forgeVersion=26.2-65.1.1
neoForgeVersion=26.2.0.59
fabricLoaderVersion=0.19.5
forgeVersion=26.3-66.0.8
neoForgeVersion=26.3.0.33-beta
volmLibCoordinate=com.github.VolmitSoftware.VolmLib:volmlib-shared:d24d28acddbf3555c0c30ac99569ebacd476ce27
+10 -10
View File
@@ -49,16 +49,16 @@ multiverseCore = "5.8.0"
craftengine = "26.8.2" # https://github.com/Xiao-MoMi/craft-engine/releases
# Fabric API (net.fabricmc.fabric-api) - each module is independently versioned
fabricApi-base = "2.0.4+ece063239e"
fabricApi-registrySync = "7.1.0+c7bd5b8e9e"
fabricApi-resourceLoader = "2.0.13+9edec1269e"
fabricApi-lifecycleEvents = "4.1.3+4575b05f9e"
fabricApi-commandApi = "3.1.0+00cb03469e"
fabricApi-eventsInteraction = "5.2.6+8f57f7ee9e"
fabricApi-networking = "6.3.3+72073ef09e"
fabricApi-rendering = "25.3.1+6988455e9e"
fabricApi-keyMapping = "2.0.5+e2bdee789e"
fabricApi-permission = "1.0.3+b7020ca29e"
fabricApi-base = "2.0.6+fcdff87f5d"
fabricApi-registrySync = "8.0.1+fcdff87f5d"
fabricApi-resourceLoader = "3.0.4+fcdff87f5d"
fabricApi-lifecycleEvents = "4.1.9+ffef5f675d"
fabricApi-commandApi = "3.1.2+fcdff87f5d"
fabricApi-eventsInteraction = "5.3.6+3434d6d95d"
fabricApi-networking = "6.3.8+fcdff87f5d"
fabricApi-rendering = "27.0.14+901a437c5d"
fabricApi-keyMapping = "2.0.8+3434d6d95d"
fabricApi-permission = "1.0.8+fcdff87f5d"
[libraries]
# Core Libraries
+1 -1
View File
@@ -9,7 +9,7 @@ String nativeLibraryCoordinate = providers.gradleProperty('volmLibCoordinate')
.getOrElse(nativeLibraryProperties.getProperty('volmLibCoordinate'))
String nativeSourceLoader = extensions.extraProperties.get('nativeSourceLoader')
String nativeSourceImplementation = 'minecraft26_2'
String nativeSourceMinecraftVersion = providers.gradleProperty('minecraftVersion').getOrElse('26.2')
String nativeSourceMinecraftVersion = providers.gradleProperty('minecraftVersion').getOrElse('26.3')
extensions.extraProperties.set('nativeSourceImplementation', nativeSourceImplementation)
dependencies.add(nativeMinecraftSources.name,
"com.github.VolmitSoftware.VolmLib:native-${nativeSourceImplementation}-sources:${nativeLibraryCoordinate.tokenize(':').last()}")