1.21.5 is the first version before the 1.21.6 GUI rewrite, which moved GUI drawing from vertex consumers and a MatrixStack to render states and a 2D Matrix3x2fStack. - RenderScopeImpl and EntityDrawerImpl have two whole implementations, one per side of 1.21.6 (a single >=1.21.6 / else split), instead of conditionals scattered through them. Callers use RenderScopeImpl(context) in every version; 1.21.5's did the same thing through its (matrices, vertexConsumers) constructor. - MatrixStackMixin (MatrixStack as a MatrixStackRef) is real before 1.21.6 and empty from 1.21.6, registered everywhere like NametagsMixin. - DrawContextAccessor exposes the vertex consumers before 1.21.6 and the GUI render state from it. - Smaller changes: fog (BackgroundRenderer vs FogRenderer), the end portal texture arguments (ShaderUtils, now a flat three-way chain), the status effect sprite manager, and getIconId only from 1.21.6. Features 1.21.6+ lacks stay on 1.21.5, with a TODO: the title panorama behind Saturn screens and the background blur (screen.backgroundBlur, see #23). The 1.21.5 jar differs from the old one only in the helpers from earlier steps, the RenderScopeImpl(context) calls, the empty SaturnRenderState and unused Matrix3x2fStackRef, and 1.21.5's dead NameTagMixin (never registered) being gone. 1.21.6-1.21.11 only gain the empty MatrixStackMixin and its impl.mixins.json entry. Co-Authored-By: Claude Opus 5.5 <[email protected]>
44 lines
1.3 KiB
Kotlin
44 lines
1.3 KiB
Kotlin
pluginManagement {
|
|
repositories {
|
|
maven("https://maven.fabricmc.net/")
|
|
maven("https://maven.kikugie.dev/releases")
|
|
gradlePluginPortal()
|
|
mavenCentral()
|
|
}
|
|
|
|
// Loom's version, for the Stonecutter versions' build.gradle.kts (the old mc-<v> projects set
|
|
// their own in versions/<v>/gradle.properties).
|
|
val loom_version: String by settings
|
|
plugins {
|
|
id("net.fabricmc.fabric-loom-remap") version loom_version
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
id("dev.kikugie.stonecutter") version "0.9.8"
|
|
}
|
|
|
|
rootProject.name = "saturn-client"
|
|
|
|
include("common")
|
|
|
|
// Versions built by Stonecutter from the shared src/ (see stonecutter.gradle.kts). Each one's
|
|
// versions/<v>/gradle.properties holds its Minecraft, Yarn and Fabric API versions.
|
|
val stonecutterVersions = listOf("1.21.5", "1.21.6", "1.21.7", "1.21.8", "1.21.9", "1.21.10", "1.21.11")
|
|
|
|
stonecutter {
|
|
create(rootProject) {
|
|
versions(stonecutterVersions)
|
|
vcsVersion = "1.21.11"
|
|
}
|
|
}
|
|
|
|
// Versions not moved to Stonecutter yet still build from their own copy in versions/<v>/src,
|
|
// as projects named mc-<v>.
|
|
file("versions").listFiles { file -> file.isDirectory && file.name !in stonecutterVersions }!!
|
|
.sortedBy { it.name }
|
|
.forEach { dir ->
|
|
include("mc-${dir.name}")
|
|
project(":mc-${dir.name}").projectDir = dir
|
|
}
|