mirror of
https://github.com/architectury/architectury-plugin.git
synced 2026-03-27 19:57:00 -05:00
Forge 50+ (#48)
* Detect 1.20.5 Minecraft and disable fix mixins for Forge 50+ * Bump to 5.2.87
This commit is contained in:
@@ -5,5 +5,5 @@ loom_version_010Legacy=0.10.0.171
|
||||
loom_version_010=0.10.0.188
|
||||
loom_version_011=0.11.0.217
|
||||
loom_version_11=1.1.313
|
||||
transformer_version=5.2.83
|
||||
transformer_version=5.2.87
|
||||
base_version=3.4
|
||||
@@ -53,6 +53,11 @@ class LoomInterface11(private val project: Project) : LoomInterface {
|
||||
override val legacyMixinApEnabled: Boolean
|
||||
get() = extension.mixin.useLegacyMixinAp.get()
|
||||
|
||||
|
||||
override val addRefmapForForge: Boolean
|
||||
// Awful hack to check if the version >= 1.20.5, we don't get any info of forge version in common
|
||||
get() = !extension.minecraftProvider.versionInfo.isVersionOrNewer("2024-04-23T00:00:00+00:00")
|
||||
|
||||
override val generateTransformerPropertiesInTask = true
|
||||
|
||||
override fun settingsPostEdit(action: (config: LoomInterface.LoomRunConfig) -> Unit) {
|
||||
|
||||
@@ -31,7 +31,7 @@ import java.util.jar.JarOutputStream
|
||||
import java.util.jar.Manifest
|
||||
|
||||
open class ArchitectPluginExtension(val project: Project) {
|
||||
var transformerVersion = "5.2.83"
|
||||
var transformerVersion = "5.2.87"
|
||||
var injectablesVersion = "1.0.10"
|
||||
var minecraft = ""
|
||||
private var compileOnly = false
|
||||
@@ -109,7 +109,9 @@ open class ArchitectPluginExtension(val project: Project) {
|
||||
)
|
||||
|
||||
if (platform != "neoforge") {
|
||||
if (loom.legacyMixinApEnabled) {
|
||||
if (platform == "forge" && !loom.addRefmapForForge) {
|
||||
map[BuiltinProperties.FORGE_FIX_MIXINS] = "false"
|
||||
} else if (loom.legacyMixinApEnabled) {
|
||||
map[BuiltinProperties.REFMAP_NAME] = loom.refmapName
|
||||
}
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ open class ModLoader(
|
||||
add(RemapInjectables()) { file ->
|
||||
this[BuiltinProperties.UNIQUE_IDENTIFIER] = projectGeneratedPackage(project, file)
|
||||
}
|
||||
this += AddRefmapName()
|
||||
this += AddRefmapName { loom.addRefmapForForge }
|
||||
this += TransformPlatformOnly()
|
||||
|
||||
this += TransformForgeAnnotations()
|
||||
|
||||
@@ -49,6 +49,7 @@ interface LoomInterface {
|
||||
val refmapName: String
|
||||
var generateSrgTiny: Boolean
|
||||
val legacyMixinApEnabled: Boolean get() = false
|
||||
val addRefmapForForge: Boolean get() = true
|
||||
|
||||
/**
|
||||
* Loom 0.11+ has to generate the runtime transformer properties file
|
||||
|
||||
@@ -10,9 +10,10 @@ import dev.architectury.transformer.transformers.base.edit.TransformerContext
|
||||
import dev.architectury.transformer.util.Logger
|
||||
import java.io.ByteArrayInputStream
|
||||
|
||||
class AddRefmapName : AssetEditTransformer {
|
||||
data class AddRefmapName(val enabled: () -> Boolean = { true }) : AssetEditTransformer {
|
||||
val gson = GsonBuilder().setPrettyPrinting().create()
|
||||
override fun doEdit(context: TransformerContext, output: FileAccess) {
|
||||
if (!enabled()) return
|
||||
val refmap = System.getProperty(BuiltinProperties.REFMAP_NAME) ?: return
|
||||
val mixins = mutableSetOf<String>()
|
||||
output.handle { path, bytes ->
|
||||
|
||||
Reference in New Issue
Block a user