Skip to content

Commit

Permalink
Move to almostgradle
Browse files Browse the repository at this point in the history
  • Loading branch information
LLytho committed Sep 5, 2024
1 parent 0e0da3f commit 6b46056
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 136 deletions.
116 changes: 6 additions & 110 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,125 +1,21 @@
@file:Suppress("UnstableApiUsage")

val license: String by project
val neoforgeVersion: String by project
val minecraftVersion: String by project
val modPackage: String by project
val modVersion: String by project
val modId: String by project
val modName: String by project
val modDescription: String by project
val modAuthor: String by project
val githubRepo: String by project
val githubUser: String by project
val kubejsVersion: String by project

plugins {
java
`maven-publish`
id("net.neoforged.moddev") version "1.0.9"
id("com.github.gmazzo.buildconfig") version "4.0.4"
id("net.neoforged.moddev") version "2.0.+"
id("com.almostreliable.almostgradle") version "1.0.+"
}

repositories {
maven("https://maven.saps.dev/minecraft")
maven("https://www.cursemaven.com")
}

base {
archivesName.set("$modId-neoforge")
version = "$minecraftVersion-$modVersion"
}

neoForge {
version = neoforgeVersion
addModdingDependenciesTo(sourceSets.test.get())

val mainMod = mods.create(modId) {
sourceSet(sourceSets.main.get())
}

mods.create("testmod") {
sourceSet(sourceSets.test.get())
}

runs {
val exampleScripts = project.rootDir.resolve("example_scripts").toString()
create("gametest") {
server()
sourceSet.set(sourceSets.test.get())
systemProperty("neoforge.gameTestServer", "true")
systemProperty("neoforge.enabledGameTestNamespaces", modId)
systemProperty("$modId.example_scripts", exampleScripts)
}
create("testmod") {
client();
sourceSet.set(sourceSets.test.get())
systemProperty("neoforge.gameTestServer", "true")
systemProperty("neoforge.enabledGameTestNamespaces", modId)
systemProperty("$modId.example_scripts", exampleScripts)
}
create("client") {
client()
mods.set(setOf(mainMod))
}
create("server") {
server()
mods.set(setOf(mainMod))
}
configureEach {
jvmArgument("-XX:+IgnoreUnrecognizedVMOptions")
jvmArgument("-XX:+AllowEnhancedClassRedefinition")
if (type.get() == "client") {
programArguments.addAll("--width", "1920", "--height", "1080")
}
}
}
almostgradle.setup {
testMod = true
}

dependencies {
val kubejsVersion: String by project
implementation("dev.latvian.mods:kubejs-neoforge:${kubejsVersion}")
testImplementation("dev.latvian.mods:kubejs-neoforge:${kubejsVersion}")
}

tasks {
/**
* Resource processing for defined targets. This will replace `${key}` with the specified values from the map below.
*/
processResources {
val resourceTargets = listOf("META-INF/neoforge.mods.toml", "pack.mcmeta")

val replaceProperties = mapOf(
"version" to project.version as String,
"license" to license,
"modId" to modId,
"modName" to modName,
"minecraftVersion" to minecraftVersion,
"modAuthor" to modAuthor,
"modDescription" to modDescription,
"neoforgeVersion" to neoforgeVersion,
"githubUser" to githubUser,
"githubRepo" to githubRepo,
"kubejsVersion" to kubejsVersion
)

println("[Process Resources] Replacing properties in resources: ")
replaceProperties.forEach { (key, value) -> println("\t -> $key = $value") }

inputs.properties(replaceProperties)
filesMatching(resourceTargets) {
expand(replaceProperties)
}
}
}

extensions.configure<JavaPluginExtension> {
withSourcesJar()
}

buildConfig {
buildConfigField("String", "MOD_ID", "\"$modId\"")
buildConfigField("String", "MOD_NAME", "\"$modName\"")
buildConfigField("String", "MOD_VERSION", "\"$version\"")
packageName(modPackage)
useJavaOutput()
localRuntime(almostgradle.recipeViewers.emi.dependency)
}
19 changes: 10 additions & 9 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
group = com.almostreliable.mods
group = com.almostreliable
license = GNU Lesser General Public License v3.0
loom.platform=neoforge

# Mod options
modPackage = com.almostreliable.lootjs
modId = lootjs
modName = LootJS
modVersion = 3.1.1
modAuthor = AlmostReliable
modDescription = Modify loot through KubeJS.

# Common
minecraftVersion = 1.21
neoforgeVersion = 21.0.146
kubejsVersion = 2100.7.0-build.119
minecraftVersion = 1.21.1
neoforgeVersion = 21.1.39
kubejsVersion = 2101.7.0-build.131

# Github
githubUser = AlmostReliable
githubRepo = lootjs
# AlmostGradle
almostgradle.launchArgs.resizeClient = true
almostgradle.launchArgs.autoWorldJoin = true

almostgradle.recipeViewers.emi.version = 1.1.12
almostgradle.recipeViewers.emi.minecraftVersion = 1.21

# Parchment
neoForge.parchment.minecraftVersion = 1.21
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/almostreliable/lootjs/LootJS.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@
import java.util.function.Consumer;
import java.util.stream.Stream;

@Mod("lootjs")
@Mod(BuildConfig.MOD_ID)
public class LootJS {
public static final Logger LOG = LogManager.getLogger("LootJS");
public static final Logger LOG = LogManager.getLogger(BuildConfig.MOD_NAME);
public static Consumer<String> DEBUG_ACTION = LOG::info;

public static HolderLookup.Provider LOOKUP_PROVIDER = new HolderLookup.Provider() {
Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/META-INF/neoforge.mods.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
modLoader = "javafml"
loaderVersion = "[${2},)"
loaderVersion = "[2,)"
issueTrackerURL = "https://github.com/${githubUser}/${githubRepo}/issues"
license = "${license}"

Expand Down
14 changes: 0 additions & 14 deletions src/test/resources/META-INF/neoforge.mods.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,5 @@ modId = "testmod"
version = "0.0.0"
displayName = "Test Mod"

[[dependencies.testmod]]
modId = "neoforge"
type = "required"
versionRange = "[1,)"
ordering = "NONE"
side = "BOTH"

[[dependencies.testmod]]
modId = "minecraft"
type = "required"
versionRange = "[1,)"
ordering = "NONE"
side = "BOTH"

[[mixins]]
config = "testmod.mixins.json"

0 comments on commit 6b46056

Please sign in to comment.