build.gradle 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import java.util.stream.Collectors
  2. plugins {
  3. id "com.github.johnrengelman.shadow" version "5.0.0"
  4. }
  5. configurations {
  6. shadow
  7. }
  8. architectury {
  9. platformSetupLoomIde()
  10. }
  11. loom {
  12. useFabricMixin = true
  13. }
  14. dependencies {
  15. minecraft("com.mojang:minecraft:${rootProject.minecraft_version}")
  16. mappings(minecraft.officialMojangMappings())
  17. forge("net.minecraftforge:forge:${rootProject.minecraft_version}-${rootProject.forge_version}")
  18. compileOnly(project(path: ":common")) {
  19. transitive = false
  20. }
  21. runtimeOnly(project(path: ":common", configuration: "transformDevelopmentForge")) {
  22. transitive = false
  23. }
  24. shadow(project(path: ":common", configuration: "transformProductionForge")) {
  25. transitive = false
  26. }
  27. }
  28. processResources {
  29. inputs.property "version", project.version
  30. filesMatching("META-INF/mods.toml") {
  31. expand "version": project.version
  32. }
  33. }
  34. shadowJar {
  35. exclude "fabric.mod.json"
  36. configurations = [project.configurations.shadow]
  37. classifier "shadow"
  38. }
  39. remapJar {
  40. dependsOn(shadowJar)
  41. input.set(shadowJar.archivePath)
  42. classifier "forge"
  43. }
  44. //TODO this is also in the other build.gradle…
  45. def fcMixinConfigs = ["predicates", "fastmap", "nopropertymap", "mrl", "dedupmultipart", "blockstatecache"].stream()
  46. .map({s -> archivesBaseName+"."+s+".mixin.json"})
  47. .collect(Collectors.toList())
  48. loom {
  49. mixinConfigs = fcMixinConfigs
  50. }