aboutsummaryrefslogtreecommitdiff
path: root/test-forge
diff options
context:
space:
mode:
Diffstat (limited to 'test-forge')
-rw-r--r--test-forge/.gitignore42
-rw-r--r--test-forge/build.gradle.kts63
-rw-r--r--test-forge/gradle.properties1
-rw-r--r--test-forge/src/main/java/dev/isxander/yacl/test/forge/ForgeTest.java18
-rw-r--r--test-forge/src/main/resources/META-INF/mods.toml28
-rw-r--r--test-forge/src/main/resources/pack.mcmeta6
6 files changed, 158 insertions, 0 deletions
diff --git a/test-forge/.gitignore b/test-forge/.gitignore
new file mode 100644
index 0000000..b63da45
--- /dev/null
+++ b/test-forge/.gitignore
@@ -0,0 +1,42 @@
+.gradle
+build/
+!gradle/wrapper/gradle-wrapper.jar
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### IntelliJ IDEA ###
+.idea/modules.xml
+.idea/jarRepositories.xml
+.idea/compiler.xml
+.idea/libraries/
+*.iws
+*.iml
+*.ipr
+out/
+!**/src/main/**/out/
+!**/src/test/**/out/
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+bin/
+!**/src/main/**/bin/
+!**/src/test/**/bin/
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store \ No newline at end of file
diff --git a/test-forge/build.gradle.kts b/test-forge/build.gradle.kts
new file mode 100644
index 0000000..5f98b90
--- /dev/null
+++ b/test-forge/build.gradle.kts
@@ -0,0 +1,63 @@
+plugins {
+ alias(libs.plugins.architectury.loom)
+ alias(libs.plugins.shadow)
+}
+
+architectury {
+ platformSetupLoomIde()
+ forge()
+}
+
+loom {
+ silentMojangMappingsLicense()
+
+ accessWidenerPath.set(project(":common").loom.accessWidenerPath)
+
+ forge {
+ convertAccessWideners.set(true)
+ extraAccessWideners.add(loom.accessWidenerPath.get().asFile.name)
+ }
+}
+
+val common by configurations.registering
+val shadowCommon by configurations.registering
+configurations.compileClasspath.get().extendsFrom(common.get())
+configurations["developmentForge"].extendsFrom(common.get())
+
+val minecraftVersion: String = libs.versions.minecraft.get()
+
+dependencies {
+ minecraft(libs.minecraft)
+ mappings(loom.layered {
+ mappings("org.quiltmc:quilt-mappings:$minecraftVersion+build.${libs.versions.quilt.mappings.get()}:intermediary-v2")
+ officialMojangMappings()
+ })
+ forge(libs.forge)
+
+ "common"(project(path = ":test-common", configuration = "namedElements")) { isTransitive = false }
+ implementation(project(path = ":forge", configuration = "namedElements"))
+
+ "common"(project(path = ":common", configuration = "namedElements")) { isTransitive = false }
+}
+
+tasks {
+ shadowJar {
+ exclude("fabric.mod.json")
+ exclude("architectury.common.json")
+
+ configurations = listOf(shadowCommon.get())
+ archiveClassifier.set("dev-shadow")
+ }
+
+ remapJar {
+ injectAccessWidener.set(true)
+ inputFile.set(shadowJar.get().archiveFile)
+ dependsOn(shadowJar)
+
+ archiveClassifier.set("forge-$minecraftVersion")
+ }
+
+ jar {
+ archiveClassifier.set("dev")
+ }
+}
diff --git a/test-forge/gradle.properties b/test-forge/gradle.properties
new file mode 100644
index 0000000..32f842a
--- /dev/null
+++ b/test-forge/gradle.properties
@@ -0,0 +1 @@
+loom.platform=forge \ No newline at end of file
diff --git a/test-forge/src/main/java/dev/isxander/yacl/test/forge/ForgeTest.java b/test-forge/src/main/java/dev/isxander/yacl/test/forge/ForgeTest.java
new file mode 100644
index 0000000..182c4a9
--- /dev/null
+++ b/test-forge/src/main/java/dev/isxander/yacl/test/forge/ForgeTest.java
@@ -0,0 +1,18 @@
+package dev.isxander.yacl.test.forge;
+
+import dev.isxander.yacl.test.GuiTest;
+import net.minecraftforge.client.ConfigScreenHandler;
+import net.minecraftforge.fml.ModLoadingContext;
+import net.minecraftforge.fml.common.Mod;
+
+@Mod("yacl_test")
+public class ForgeTest {
+ public ForgeTest() {
+ ModLoadingContext.get().registerExtensionPoint(
+ ConfigScreenHandler.ConfigScreenFactory.class,
+ () -> new ConfigScreenHandler.ConfigScreenFactory(
+ (minecraft, parent) -> GuiTest.getModConfigScreenFactory(parent)
+ )
+ );
+ }
+}
diff --git a/test-forge/src/main/resources/META-INF/mods.toml b/test-forge/src/main/resources/META-INF/mods.toml
new file mode 100644
index 0000000..f4f57d0
--- /dev/null
+++ b/test-forge/src/main/resources/META-INF/mods.toml
@@ -0,0 +1,28 @@
+modLoader = "javafml"
+loaderVersion = "[45,)"
+#issueTrackerURL = ""
+license = "LGPL-3.0-or-later"
+
+[[mods]]
+modId = "yacl_test"
+version = "1"
+displayName = "YACL Test"
+authors = "isXander"
+description = '''
+Test mod for YACL
+'''
+#logoFile = ""
+
+[[dependencies.yacl_test]]
+modId = "forge"
+mandatory = true
+versionRange = "[45,)"
+ordering = "NONE"
+side = "BOTH"
+
+[[dependencies.yacl_test]]
+modId = "minecraft"
+mandatory = true
+versionRange = "[1.19.4,)"
+ordering = "NONE"
+side = "BOTH"
diff --git a/test-forge/src/main/resources/pack.mcmeta b/test-forge/src/main/resources/pack.mcmeta
new file mode 100644
index 0000000..8fbe236
--- /dev/null
+++ b/test-forge/src/main/resources/pack.mcmeta
@@ -0,0 +1,6 @@
+{
+ "pack": {
+ "description": "Test YACL",
+ "pack_format": 14
+ }
+}