mirror of
https://github.com/architectury/architectury-plugin.git
synced 2026-03-28 04:07:01 -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_010=0.10.0.188
|
||||||
loom_version_011=0.11.0.217
|
loom_version_011=0.11.0.217
|
||||||
loom_version_11=1.1.313
|
loom_version_11=1.1.313
|
||||||
transformer_version=5.2.83
|
transformer_version=5.2.87
|
||||||
base_version=3.4
|
base_version=3.4
|
||||||
@@ -53,6 +53,11 @@ class LoomInterface11(private val project: Project) : LoomInterface {
|
|||||||
override val legacyMixinApEnabled: Boolean
|
override val legacyMixinApEnabled: Boolean
|
||||||
get() = extension.mixin.useLegacyMixinAp.get()
|
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 val generateTransformerPropertiesInTask = true
|
||||||
|
|
||||||
override fun settingsPostEdit(action: (config: LoomInterface.LoomRunConfig) -> Unit) {
|
override fun settingsPostEdit(action: (config: LoomInterface.LoomRunConfig) -> Unit) {
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ import java.util.jar.JarOutputStream
|
|||||||
import java.util.jar.Manifest
|
import java.util.jar.Manifest
|
||||||
|
|
||||||
open class ArchitectPluginExtension(val project: Project) {
|
open class ArchitectPluginExtension(val project: Project) {
|
||||||
var transformerVersion = "5.2.83"
|
var transformerVersion = "5.2.87"
|
||||||
var injectablesVersion = "1.0.10"
|
var injectablesVersion = "1.0.10"
|
||||||
var minecraft = ""
|
var minecraft = ""
|
||||||
private var compileOnly = false
|
private var compileOnly = false
|
||||||
@@ -109,7 +109,9 @@ open class ArchitectPluginExtension(val project: Project) {
|
|||||||
)
|
)
|
||||||
|
|
||||||
if (platform != "neoforge") {
|
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
|
map[BuiltinProperties.REFMAP_NAME] = loom.refmapName
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ open class ModLoader(
|
|||||||
add(RemapInjectables()) { file ->
|
add(RemapInjectables()) { file ->
|
||||||
this[BuiltinProperties.UNIQUE_IDENTIFIER] = projectGeneratedPackage(project, file)
|
this[BuiltinProperties.UNIQUE_IDENTIFIER] = projectGeneratedPackage(project, file)
|
||||||
}
|
}
|
||||||
this += AddRefmapName()
|
this += AddRefmapName { loom.addRefmapForForge }
|
||||||
this += TransformPlatformOnly()
|
this += TransformPlatformOnly()
|
||||||
|
|
||||||
this += TransformForgeAnnotations()
|
this += TransformForgeAnnotations()
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ interface LoomInterface {
|
|||||||
val refmapName: String
|
val refmapName: String
|
||||||
var generateSrgTiny: Boolean
|
var generateSrgTiny: Boolean
|
||||||
val legacyMixinApEnabled: Boolean get() = false
|
val legacyMixinApEnabled: Boolean get() = false
|
||||||
|
val addRefmapForForge: Boolean get() = true
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loom 0.11+ has to generate the runtime transformer properties file
|
* 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 dev.architectury.transformer.util.Logger
|
||||||
import java.io.ByteArrayInputStream
|
import java.io.ByteArrayInputStream
|
||||||
|
|
||||||
class AddRefmapName : AssetEditTransformer {
|
data class AddRefmapName(val enabled: () -> Boolean = { true }) : AssetEditTransformer {
|
||||||
val gson = GsonBuilder().setPrettyPrinting().create()
|
val gson = GsonBuilder().setPrettyPrinting().create()
|
||||||
override fun doEdit(context: TransformerContext, output: FileAccess) {
|
override fun doEdit(context: TransformerContext, output: FileAccess) {
|
||||||
|
if (!enabled()) return
|
||||||
val refmap = System.getProperty(BuiltinProperties.REFMAP_NAME) ?: return
|
val refmap = System.getProperty(BuiltinProperties.REFMAP_NAME) ?: return
|
||||||
val mixins = mutableSetOf<String>()
|
val mixins = mutableSetOf<String>()
|
||||||
output.handle { path, bytes ->
|
output.handle { path, bytes ->
|
||||||
|
|||||||
Reference in New Issue
Block a user