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:
@@ -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
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user