build.gradle 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. dependencies {
  12. minecraft("com.mojang:minecraft:${rootProject.minecraft_version}")
  13. mappings(minecraft.officialMojangMappings())
  14. modCompile("net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}")
  15. modCompile("net.fabricmc.fabric-api:fabric-api:${rootProject.fabric_api_version}")
  16. //TODO this is a hack, needs a Fabric alternative
  17. compile 'com.electronwill.night-config:core:3.6.2'
  18. compile 'com.electronwill.night-config:toml:3.6.2'
  19. compileOnly(project(path: ":common")) {
  20. transitive = false
  21. }
  22. runtimeOnly(project(path: ":common", configuration: "transformDevelopmentFabric")) {
  23. transitive = false
  24. }
  25. shadow(project(path: ":common", configuration: "transformProductionFabric")) {
  26. transitive = false
  27. }
  28. }
  29. processResources {
  30. inputs.property "version", project.version
  31. filesMatching("fabric.mod.json") {
  32. expand "version": project.version
  33. }
  34. }
  35. shadowJar {
  36. configurations = [project.configurations.shadow]
  37. classifier "shadow"
  38. }
  39. remapJar {
  40. dependsOn(shadowJar)
  41. input.set(shadowJar.archivePath)
  42. classifier "fabric"
  43. }
  44. def fcMixinConfigs = ["predicates", "fastmap", "nopropertymap", "mrl", "dedupmultipart", "blockstatecache"].stream()
  45. .map({s -> archivesBaseName+"."+s+".mixin.json"})
  46. .collect(Collectors.toList())
  47. loom {
  48. mixinConfigs = fcMixinConfigs
  49. }