initial
This commit is contained in:
108
forge/build.gradle.kts
Normal file
108
forge/build.gradle.kts
Normal file
@@ -0,0 +1,108 @@
|
||||
plugins {
|
||||
id("com.github.johnrengelman.shadow") version "7.1.2"
|
||||
}
|
||||
|
||||
architectury {
|
||||
platformSetupLoomIde()
|
||||
forge()
|
||||
}
|
||||
|
||||
loom {
|
||||
accessWidenerPath.set(project(":common").loom.accessWidenerPath)
|
||||
|
||||
forge {
|
||||
convertAccessWideners.set(true)
|
||||
extraAccessWideners.add(loom.accessWidenerPath.get().asFile.name)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @see: https://docs.gradle.org/current/userguide/migrating_from_groovy_to_kotlin_dsl.html
|
||||
* */
|
||||
val common: Configuration by configurations.creating
|
||||
val shadowCommon: Configuration by configurations.creating // Don't use shadow from the shadow plugin because we don't want IDEA to index this.
|
||||
val developmentForge: Configuration = configurations.getByName("developmentForge")
|
||||
configurations {
|
||||
compileClasspath.get().extendsFrom(configurations["common"])
|
||||
runtimeClasspath.get().extendsFrom(configurations["common"])
|
||||
developmentForge.extendsFrom(configurations["common"])
|
||||
}
|
||||
|
||||
dependencies {
|
||||
forge("net.minecraftforge:forge:${rootProject.property("forge_version")}")
|
||||
// Remove the next line if you don't want to depend on the API
|
||||
modApi("dev.architectury:architectury-forge:${rootProject.property("architectury_version")}")
|
||||
common(project(":common", configuration = "namedElements")) { isTransitive = false }
|
||||
shadowCommon(project(":common", configuration = "transformProductionForge")) { isTransitive = false }
|
||||
common(kotlin("stdlib-jdk8"))
|
||||
modRuntimeOnly("me.shedaniel:RoughlyEnoughItems-forge:${rootProject.property("rei_version")}")
|
||||
}
|
||||
|
||||
val javaComponent = components["java"] as AdhocComponentWithVariants
|
||||
javaComponent.withVariantsFromConfiguration(configurations["sourcesElements"]) {
|
||||
skip()
|
||||
}
|
||||
|
||||
tasks {
|
||||
processResources {
|
||||
inputs.property("version", project.version)
|
||||
|
||||
filesMatching("META-INF/mods.toml") {
|
||||
expand("version" to project.version)
|
||||
}
|
||||
}
|
||||
|
||||
shadowJar {
|
||||
exclude("fabric.mod.json")
|
||||
exclude("architectury.common.json")
|
||||
|
||||
/**
|
||||
* magic!
|
||||
* groovy -> kotlin dsl
|
||||
* [project.configurations.shadowCommon] -> listOf(project.configurations["shadowCommon"])
|
||||
* */
|
||||
configurations = listOf(project.configurations["shadowCommon"])
|
||||
archiveClassifier.set("dev-shadow")
|
||||
}
|
||||
|
||||
remapJar {
|
||||
/**
|
||||
* magic!
|
||||
* groovy -> kotlin dsl
|
||||
* shadowJar.archiveFile -> shadowJar.flatMap { it.archiveFile }
|
||||
* */
|
||||
inputFile.set(shadowJar.flatMap { it.archiveFile })
|
||||
dependsOn(shadowJar)
|
||||
/**
|
||||
* affect suffix of build jar name
|
||||
* if { archiveClassifier.set("forge") }
|
||||
* name will be examplemod-1.0.0-forge.jar
|
||||
*/
|
||||
archiveClassifier.set("forge")
|
||||
}
|
||||
|
||||
jar {
|
||||
archiveClassifier.set("dev")
|
||||
}
|
||||
|
||||
sourcesJar {
|
||||
val commonSources = project(":common").tasks.getByName("sourcesJar", Jar::class)
|
||||
dependsOn(commonSources)
|
||||
from(commonSources.archiveFile.map { zipTree(it) })
|
||||
}
|
||||
|
||||
|
||||
publishing {
|
||||
publications {
|
||||
create<MavenPublication>("mavenForge") {
|
||||
artifactId = "${rootProject.property("archives_base_name")}-${project.name}"
|
||||
from(javaComponent)
|
||||
}
|
||||
}
|
||||
|
||||
// See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing.
|
||||
repositories {
|
||||
// Add repositories to publish to here.
|
||||
}
|
||||
}
|
||||
}
|
||||
1
forge/gradle.properties
Normal file
1
forge/gradle.properties
Normal file
@@ -0,0 +1 @@
|
||||
loom.platform=forge
|
||||
@@ -0,0 +1,14 @@
|
||||
package net.examplemod.forge
|
||||
|
||||
import net.minecraftforge.fml.loading.FMLPaths
|
||||
import java.nio.file.Path
|
||||
import net.examplemod.ExampleExpectPlatform
|
||||
|
||||
@Suppress("unused")
|
||||
object ExampleExpectPlatformImpl {
|
||||
/**
|
||||
* This is our actual method to [ExampleExpectPlatform.getConfigDirectory].
|
||||
*/
|
||||
@JvmStatic
|
||||
fun getConfigDirectory(): Path = FMLPaths.CONFIGDIR.get()
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package net.examplemod.forge
|
||||
|
||||
import dev.architectury.platform.forge.EventBuses
|
||||
import net.examplemod.ExampleMod
|
||||
import net.examplemod.ExampleMod.init
|
||||
import net.minecraftforge.fml.common.Mod
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext
|
||||
|
||||
@Mod(ExampleMod.MOD_ID)
|
||||
class ExampleModForge {
|
||||
init {
|
||||
// Submit our event bus to let architectury register our content on the right time
|
||||
EventBuses.registerModEventBus(ExampleMod.MOD_ID, FMLJavaModLoadingContext.get().modEventBus)
|
||||
init()
|
||||
}
|
||||
}
|
||||
35
forge/src/main/resources/META-INF/mods.toml
Normal file
35
forge/src/main/resources/META-INF/mods.toml
Normal file
@@ -0,0 +1,35 @@
|
||||
modLoader = "javafml"
|
||||
loaderVersion = "[40,)"
|
||||
#issueTrackerURL = "TODO"
|
||||
license = "LGPL-3.0"
|
||||
|
||||
[[mods]]
|
||||
modId = "notenoughupdates"
|
||||
version = "${version}"
|
||||
displayName = "Not Enough Updates"
|
||||
authors = "nea89"
|
||||
description = '''
|
||||
Not Enough Updates - A mod for Hypixel Skyblock
|
||||
'''
|
||||
#logoFile = ""
|
||||
|
||||
[[dependencies.notenoughupdates]]
|
||||
modId = "forge"
|
||||
mandatory = true
|
||||
versionRange = "[40,)"
|
||||
ordering = "NONE"
|
||||
side = "BOTH"
|
||||
|
||||
[[dependencies.notenoughupdates]]
|
||||
modId = "minecraft"
|
||||
mandatory = true
|
||||
versionRange = "[1.18.2,)"
|
||||
ordering = "NONE"
|
||||
side = "BOTH"
|
||||
|
||||
[[dependencies.notenoughupdates]]
|
||||
modId = "architectury"
|
||||
mandatory = true
|
||||
versionRange = "[4.2.50,)"
|
||||
ordering = "AFTER"
|
||||
side = "BOTH"
|
||||
12
forge/src/main/resources/examplemod.mixins.json
Normal file
12
forge/src/main/resources/examplemod.mixins.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"required": true,
|
||||
"package": "net.examplemod.mixin.forge",
|
||||
"compatibilityLevel": "JAVA_16",
|
||||
"client": [
|
||||
],
|
||||
"mixins": [
|
||||
],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
}
|
||||
}
|
||||
6
forge/src/main/resources/pack.mcmeta
Normal file
6
forge/src/main/resources/pack.mcmeta
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"pack": {
|
||||
"description": "Example Mod",
|
||||
"pack_format": 8
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user