Guest User

Untitled

a guest
Jan 4th, 2025
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.06 KB | None | 0 0
  1. plugins {
  2. id 'eclipse'
  3. id 'idea'
  4. id 'maven-publish'
  5. id 'net.minecraftforge.gradle' version '[6.0,6.2)'
  6. id 'org.parchmentmc.librarian.forgegradle' version '1.+'
  7. }
  8.  
  9. version = mod_version
  10. group = mod_group_id
  11.  
  12. base {
  13. archivesName = mod_id
  14. }
  15.  
  16. java {
  17. toolchain {
  18. languageVersion = JavaLanguageVersion.of(17)
  19. }
  20. }
  21.  
  22. println "Java: ${System.getProperty('java.version')}, JVM: ${System.getProperty('java.vm.version')} (${System.getProperty('java.vendor')}), Arch: ${System.getProperty('os.arch')}"
  23.  
  24. minecraft {
  25. mappings channel: mapping_channel, version: mapping_version
  26. copyIdeResources = true
  27.  
  28. runs {
  29. configureEach {
  30. workingDirectory project.file('run')
  31. property 'forge.logging.markers', 'REGISTRIES'
  32. property 'forge.logging.console.level', 'debug'
  33.  
  34. mods {
  35. "${mod_id}" {
  36. source sourceSets.main
  37. }
  38. }
  39. }
  40.  
  41. client {
  42. property 'forge.enabledGameTestNamespaces', mod_id
  43. }
  44.  
  45. server {
  46. property 'forge.enabledGameTestNamespaces', mod_id
  47. args '--nogui'
  48. }
  49.  
  50. gameTestServer {
  51. property 'forge.enabledGameTestNamespaces', mod_id
  52. }
  53.  
  54. data {
  55. workingDirectory project.file('run-data')
  56. args '--mod', mod_id, '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
  57. }
  58. }
  59. }
  60.  
  61. sourceSets.main.resources {
  62. srcDir 'src/generated/resources'
  63. }
  64.  
  65. repositories {
  66. mavenCentral()
  67. maven { url = 'https://files.minecraftforge.net/maven' }
  68. maven { url = 'https://repo.spongepowered.org/repository/maven-public/' }
  69. maven { url = 'https://maven.theillusivec4.top/' } // Curios repository
  70. maven { url = 'https://maven.blamejared.com/' } // Lodestone
  71. }
  72.  
  73. dependencies {
  74. minecraft "net.minecraftforge:forge:${project.minecraft_version}-${project.forge_version}"
  75.  
  76. // Lodestone dependency from Blame Jared repository
  77. implementation fg.deobf("team.lodestar.lodestone:lodestone:1.20.1-1.6.4.252")
  78.  
  79. // Curios dependency
  80. compileOnly fg.deobf("top.theillusivec4.curios:curios-forge:5.9.1+1.20.1:api")
  81. runtimeOnly fg.deobf("top.theillusivec4.curios:curios-forge:5.9.1+1.20.1")
  82. }
  83.  
  84. tasks.named('processResources', ProcessResources).configure {
  85. def replaceProperties = [
  86. minecraft_version : minecraft_version,
  87. minecraft_version_range: minecraft_version_range,
  88. forge_version : forge_version,
  89. forge_version_range : forge_version_range,
  90. loader_version_range : loader_version_range,
  91. mod_id : mod_id,
  92. mod_name : mod_name,
  93. mod_license : mod_license,
  94. mod_version : mod_version,
  95. mod_authors : mod_authors,
  96. mod_description : mod_description
  97. ]
  98. inputs.properties replaceProperties
  99.  
  100. filesMatching(['META-INF/mods.toml', 'pack.mcmeta']) {
  101. expand replaceProperties + [project: project]
  102. }
  103. }
  104.  
  105. tasks.named('jar', Jar).configure {
  106. manifest {
  107. attributes(
  108. 'Specification-Title': mod_id,
  109. 'Specification-Vendor': mod_authors,
  110. 'Specification-Version': '1',
  111. 'Implementation-Title': project.name,
  112. 'Implementation-Version': project.jar.archiveVersion,
  113. 'Implementation-Vendor': mod_authors,
  114. 'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
  115. )
  116. }
  117. finalizedBy 'reobfJar'
  118. }
  119.  
  120. publishing {
  121. publications {
  122. register('mavenJava', MavenPublication) {
  123. artifact jar
  124. }
  125. }
  126. repositories {
  127. maven {
  128. url = "file://${project.projectDir}/mcmodsrepo"
  129. }
  130. }
  131. }
  132.  
  133. tasks.withType(JavaCompile).configureEach {
  134. options.encoding = 'UTF-8'
  135. }
  136.  
Add Comment
Please, Sign In to add comment