Skip to content

Commit

Permalink
Forge 50+ (#48)
Browse files Browse the repository at this point in the history
* Detect 1.20.5 Minecraft and disable fix mixins for Forge 50+

* Bump to 5.2.87
  • Loading branch information
shedaniel authored Aug 12, 2024
1 parent 2f42cfe commit ab88812
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 5 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -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
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
}

Expand Down
2 changes: 1 addition & 1 deletion src/main/kotlin/dev/architectury/plugin/ModLoader.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 ->
Expand Down

0 comments on commit ab88812

Please sign in to comment.