Reduce duplicate code (#18)

* Reduce duplicate code

* Fix gradle task name

* Revert name changes

* Revert action name

* Cleanup

* Revert to java 17

* Fix generation

* Cleanup

* Simplify code of DGU

* Remove unnecessary annotations

* Remove unused var

* Halt with error on error

* Remove unused mixins

* Update fabric loader

* Ignore success result

* Update gradle and use merged jar

* Implement new client and server merged environment for running fabric

* Set server run dir as asset dir

* More cleanup

* More cleanup 2

* More improvements

* Remove more duplicate code

* Use newer java methods

* More cleanup

* Remove SoundAccessors

* More cleanup

* Use java 21 for build

* Initial work on 1.20.5

* Cleanup a lot of stuff

* Do not generate mod jars to speed up builds

* Override merger on now open classes directly

* Use recommended approach

* Readd custom merger

* Working materials data generator

* Fix inconsistencies

* Fix collision order to be random

* Use LinkedHashMap for more reproducibility

* Fix imports
This commit is contained in:
Alex
2024-07-14 09:23:34 +02:00
committed by GitHub
parent 44f49b4ab5
commit 71070c32bc
459 changed files with 3421 additions and 9078 deletions
+56
View File
@@ -0,0 +1,56 @@
plugins {
`kotlin-dsl`
}
repositories {
maven("https://maven.wagyourtail.xyz/releases") {
name = "WagYourReleases"
}
maven("https://maven.wagyourtail.xyz/snapshots") {
name = "WagYourSnapshots"
}
gradlePluginPortal()
mavenCentral()
}
dependencies {
implementation("xyz.wagyourtail.unimined:xyz.wagyourtail.unimined.gradle.plugin:1.2.15-SNAPSHOT")
// guava
implementation("com.google.guava:guava:31.1-jre")
// gson
implementation("com.google.code.gson:gson:2.9.0")
// asm
implementation("org.ow2.asm:asm:9.5")
implementation("org.ow2.asm:asm-commons:9.5")
implementation("org.ow2.asm:asm-tree:9.5")
implementation("org.ow2.asm:asm-analysis:9.5")
implementation("org.ow2.asm:asm-util:9.5")
// remapper
implementation("net.fabricmc:tiny-remapper:0.8.7") {
exclude(group = "org.ow2.asm")
}
// mappings
implementation("net.fabricmc:mapping-io:0.3.0") {
exclude(group = "org.ow2.asm")
}
// jetbrains annotations
implementation("org.jetbrains:annotations-java5:23.0.0")
// binpatcher
implementation("net.minecraftforge:binarypatcher:1.1.1") {
exclude(mapOf("group" to "commons-io"))
}
implementation("commons-io:commons-io:2.12.0")
// pack200 provided by apache commons-compress
implementation("org.apache.commons:commons-compress:1.26.1")
// aw
implementation("net.fabricmc:access-widener:2.1.0")
}
@@ -0,0 +1,23 @@
import org.gradle.api.Project
import xyz.wagyourtail.unimined.api.minecraft.EnvType
import xyz.wagyourtail.unimined.api.minecraft.MinecraftJar
import xyz.wagyourtail.unimined.internal.minecraft.MinecraftProvider
import xyz.wagyourtail.unimined.internal.minecraft.patch.fabric.LegacyFabricMinecraftTransformer
import xyz.wagyourtail.unimined.internal.minecraft.transform.merge.ClassMerger
// Prevents adding @Environment annotations to classes
@Suppress("UnstableApiUsage")
class CustomLegacyFabricMinecraftTransformer(
project: Project,
provider: MinecraftProvider
) : LegacyFabricMinecraftTransformer(project, provider) {
override val merger: ClassMerger = ClassMerger()
override fun mergedJar(clientjar: MinecraftJar, serverjar: MinecraftJar): MinecraftJar {
return MinecraftJar(
clientjar,
envType = EnvType.COMBINED,
patches = listOf("$providerName-merged", "custom-no-environment") + clientjar.patches + serverjar.patches
)
}
}
@@ -0,0 +1,23 @@
import org.gradle.api.Project
import xyz.wagyourtail.unimined.api.minecraft.EnvType
import xyz.wagyourtail.unimined.api.minecraft.MinecraftJar
import xyz.wagyourtail.unimined.internal.minecraft.MinecraftProvider
import xyz.wagyourtail.unimined.internal.minecraft.patch.fabric.OfficialFabricMinecraftTransformer
import xyz.wagyourtail.unimined.internal.minecraft.transform.merge.ClassMerger
// Prevents adding @Environment annotations to classes
@Suppress("UnstableApiUsage")
class CustomOfficialFabricMinecraftTransformer(
project: Project,
provider: MinecraftProvider
) : OfficialFabricMinecraftTransformer(project, provider) {
override val merger: ClassMerger = ClassMerger()
override fun mergedJar(clientjar: MinecraftJar, serverjar: MinecraftJar): MinecraftJar {
return MinecraftJar(
clientjar,
envType = EnvType.COMBINED,
patches = listOf("$providerName-merged", "custom-no-environment") + clientjar.patches + serverjar.patches
)
}
}