feat(minecraft): Make every subproject its own mod
This commit is contained in:
@@ -34,7 +34,7 @@ abstract class MinecraftModComponentPlugin : Plugin<Project> {
|
||||
attribute(MinecraftModded.MINECRAFT_MODDED_ATTRIBUTE, objectFactory.named(MinecraftModded.MODDED))
|
||||
attribute(Category.CATEGORY_ATTRIBUTE, objectFactory.named(Category.LIBRARY))
|
||||
attribute(LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE, objectFactory.named(LibraryElements.JAR))
|
||||
attribute(Bundling.BUNDLING_ATTRIBUTE, objectFactory.named(Bundling.SHADOWED))
|
||||
attribute(Bundling.BUNDLING_ATTRIBUTE, objectFactory.named(Bundling.EMBEDDED))
|
||||
attribute(Usage.USAGE_ATTRIBUTE, objectFactory.named(Usage.JAVA_RUNTIME))
|
||||
|
||||
project.afterEvaluate {
|
||||
@@ -48,8 +48,8 @@ abstract class MinecraftModComponentPlugin : Plugin<Project> {
|
||||
attribute(MinecraftModded.MINECRAFT_MODDED_ATTRIBUTE, objectFactory.named(MinecraftModded.MODDED))
|
||||
attribute(Category.CATEGORY_ATTRIBUTE, objectFactory.named(Category.LIBRARY))
|
||||
attribute(LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE, objectFactory.named(LibraryElements.JAR))
|
||||
attribute(Bundling.BUNDLING_ATTRIBUTE, objectFactory.named(Bundling.SHADOWED))
|
||||
attribute(Usage.USAGE_ATTRIBUTE, objectFactory.named(Usage.JAVA_API))
|
||||
attribute(Bundling.BUNDLING_ATTRIBUTE, objectFactory.named(Bundling.EXTERNAL))
|
||||
attribute(Usage.USAGE_ATTRIBUTE, objectFactory.named(Usage.JAVA_RUNTIME))
|
||||
|
||||
project.afterEvaluate {
|
||||
attribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE, targetJvmVersion.get().toInt())
|
||||
|
||||
@@ -2,6 +2,7 @@ plugins {
|
||||
id("com.gradleup.shadow")
|
||||
java
|
||||
`java-library`
|
||||
id("de.siphalor.tweed5.shadow.explicit")
|
||||
id("de.siphalor.tweed5.minecraft.mod.component")
|
||||
}
|
||||
|
||||
@@ -10,16 +11,25 @@ java {
|
||||
targetCompatibility = JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
val minecraftJijElements = configurations.resolvable("minecraftJijElements")
|
||||
|
||||
tasks.shadowJar {
|
||||
relocate("org.apache.commons", "de.siphalor.tweed5.shadowed.org.apache.commons")
|
||||
}
|
||||
|
||||
fun formatJarsForJson(jars: FileCollection): String {
|
||||
return jars.files.joinToString(",") { "{\"file\":\"META-INF/jars/${it.name}\"}"}
|
||||
}
|
||||
|
||||
tasks.register<Sync>("processMinecraftModResources") {
|
||||
inputs.property("id", project.name)
|
||||
inputs.property("version", project.version)
|
||||
inputs.property("name", properties["module.name"])
|
||||
inputs.property("description", properties["module.description"])
|
||||
inputs.property("repoUrl", properties["git.url"])
|
||||
inputs.files(minecraftJijElements)
|
||||
|
||||
val jars = objects.fileCollection().apply { from(minecraftJijElements) }
|
||||
|
||||
from(project.layout.settingsDirectory.dir("../tweed5-minecraft/mod-template/resources")) {
|
||||
expand(
|
||||
@@ -29,6 +39,7 @@ tasks.register<Sync>("processMinecraftModResources") {
|
||||
"name" to properties["module.name"],
|
||||
"description" to properties["module.description"],
|
||||
"repoUrl" to properties["git.url"],
|
||||
"jars" to formatJarsForJson(jars)
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -44,6 +55,9 @@ tasks.register<Sync>("processMinecraftTestmodResources") {
|
||||
inputs.property("name", properties["module.name"])
|
||||
inputs.property("description", properties["module.description"])
|
||||
inputs.property("repoUrl", properties["git.url"])
|
||||
inputs.files(minecraftJijElements)
|
||||
|
||||
val jars = objects.fileCollection().apply { from(minecraftJijElements) }
|
||||
|
||||
from(project.layout.settingsDirectory.dir("../tweed5-minecraft/mod-template/resources")) {
|
||||
expand(
|
||||
@@ -53,6 +67,7 @@ tasks.register<Sync>("processMinecraftTestmodResources") {
|
||||
"name" to "${properties["module.name"]} (test mod)",
|
||||
"description" to properties["module.description"],
|
||||
"repoUrl" to properties["git.url"],
|
||||
"jars" to formatJarsForJson(jars)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -4,6 +4,11 @@ plugins {
|
||||
id("de.siphalor.tweed5.minecraft.mod.base")
|
||||
}
|
||||
|
||||
configurations.minecraftModApiElements {
|
||||
extendsFrom(configurations.implementation.get())
|
||||
exclude("commons-logging", "commons-logging")
|
||||
}
|
||||
|
||||
val minecraftModJar = tasks.register<Jar>("minecraftModJar") {
|
||||
group = LifecycleBasePlugin.BUILD_GROUP
|
||||
|
||||
@@ -25,13 +30,10 @@ val minecraftModSourcesJar = tasks.register<Jar>("minecraftModSourcesJar") {
|
||||
dependsOn(tasks.named("sourcesJar"))
|
||||
dependsOn(tasks.named("processMinecraftModResources"))
|
||||
|
||||
from(tasks.named<Jar>("sourcesJar").get().archiveFile.map {
|
||||
if (it.asFile.exists()) {
|
||||
zipTree(it)
|
||||
} else {
|
||||
files()
|
||||
}
|
||||
})
|
||||
val sourcesJar = objects.fileCollection().from(tasks.named<Jar>("sourcesJar").map { it.archiveFile })
|
||||
inputs.files(sourcesJar)
|
||||
|
||||
from(sourcesJar.map { zipTree(it) })
|
||||
from(project.layout.buildDirectory.dir("minecraftModResources"))
|
||||
|
||||
archiveClassifier = "sources"
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
import de.siphalor.tweed5.gradle.plugin.minecraft.mod.MinecraftModded
|
||||
|
||||
plugins {
|
||||
java
|
||||
id("de.siphalor.tweed5.publishing")
|
||||
id("de.siphalor.tweed5.minecraft.mod.base")
|
||||
}
|
||||
|
||||
val minecraftJij = configurations.dependencyScope("minecraftJij")
|
||||
val minecraftJijElements = configurations.named("minecraftJijElements") {
|
||||
attributes {
|
||||
attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.LIBRARY))
|
||||
attribute(LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE, objects.named(LibraryElements.JAR))
|
||||
attribute(MinecraftModded.MINECRAFT_MODDED_ATTRIBUTE, objects.named(MinecraftModded.MODDED))
|
||||
attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage.JAVA_RUNTIME))
|
||||
attribute(Bundling.BUNDLING_ATTRIBUTE, objects.named(Bundling.EXTERNAL))
|
||||
attribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE, 8)
|
||||
}
|
||||
extendsFrom(minecraftJij.get())
|
||||
}
|
||||
configurations.runtimeElements {
|
||||
extendsFrom(minecraftJijElements.get())
|
||||
}
|
||||
configurations.apiElements {
|
||||
extendsFrom(minecraftJijElements.get())
|
||||
}
|
||||
|
||||
tasks.named<Jar>("jar") {
|
||||
dependsOn(tasks.named("processMinecraftModResources"))
|
||||
dependsOn(minecraftJijElements)
|
||||
from(project.layout.buildDirectory.dir("minecraftModResources"))
|
||||
from(minecraftJijElements) {
|
||||
into("META-INF/jars")
|
||||
}
|
||||
}
|
||||
|
||||
publishing {
|
||||
publications {
|
||||
create<MavenPublication>("main") {
|
||||
artifactId = project.name
|
||||
version = project.version.toString()
|
||||
|
||||
from(components["java"])
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package de.siphalor.tweed5.minecraft.bundled.sources
|
||||
|
||||
import org.gradle.api.file.ArchiveOperations
|
||||
import org.gradle.api.file.ConfigurableFileCollection
|
||||
import org.gradle.api.file.DuplicatesStrategy
|
||||
import org.gradle.api.tasks.InputFiles
|
||||
import org.gradle.api.tasks.TaskAction
|
||||
import org.gradle.api.tasks.bundling.Jar
|
||||
@@ -17,5 +18,7 @@ abstract class BundledSourcesJar: Jar() {
|
||||
@TaskAction
|
||||
override fun copy() {
|
||||
from(sources.filter { it.name.startsWith("tweed5") }.map { archiveOperations.zipTree(it) })
|
||||
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
||||
super.copy()
|
||||
}
|
||||
}
|
||||
|
||||
32
tweed5-minecraft/bundle-pojo-weaving/build.gradle.kts
Normal file
32
tweed5-minecraft/bundle-pojo-weaving/build.gradle.kts
Normal file
@@ -0,0 +1,32 @@
|
||||
import de.siphalor.tweed5.minecraft.bundled.sources.BundledSourcesJar
|
||||
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.minecraft.mod.bundle")
|
||||
}
|
||||
|
||||
configurations.minecraftJijElements {
|
||||
isTransitive = false
|
||||
}
|
||||
val bundledSourcesConfiguration = configurations.resolvable("bundledSources") {
|
||||
extendsFrom(configurations.minecraftJijElements.get())
|
||||
isTransitive = false
|
||||
attributes {
|
||||
attribute(DocsType.DOCS_TYPE_ATTRIBUTE, objects.named(DocsType.SOURCES))
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
minecraftJij("de.siphalor.tweed5:tweed5-annotation-inheritance")
|
||||
minecraftJij("de.siphalor.tweed5:tweed5-naming-format")
|
||||
minecraftJij("de.siphalor.tweed5:tweed5-type-utils")
|
||||
minecraftJij("de.siphalor.tweed5:tweed5-weaver-pojo")
|
||||
minecraftJij("de.siphalor.tweed5:tweed5-weaver-pojo-attributes-extension")
|
||||
minecraftJij("de.siphalor.tweed5:tweed5-weaver-pojo-presets-extension")
|
||||
minecraftJij("de.siphalor.tweed5:tweed5-weaver-pojo-serde-extension")
|
||||
minecraftJij("de.siphalor.tweed5:tweed5-weaver-pojo-validation-extension")
|
||||
}
|
||||
|
||||
tasks.register<BundledSourcesJar>("sourcesJar") {
|
||||
sources.from(bundledSourcesConfiguration)
|
||||
archiveClassifier.set("sources")
|
||||
}
|
||||
3
tweed5-minecraft/bundle-pojo-weaving/gradle.properties
Normal file
3
tweed5-minecraft/bundle-pojo-weaving/gradle.properties
Normal file
@@ -0,0 +1,3 @@
|
||||
module.name = Tweed 5 Bundle
|
||||
module.description = Bundle of pre-packaged Tweed modules \
|
||||
that are usually required for your Minecraft mod config needs.
|
||||
@@ -1,7 +1,7 @@
|
||||
import de.siphalor.tweed5.minecraft.bundled.sources.BundledSourcesJar
|
||||
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.minecraft.mod.dummy")
|
||||
id("de.siphalor.tweed5.minecraft.mod.bundle")
|
||||
}
|
||||
|
||||
val bundledSourcesConfiguration = configurations.resolvable("bundledSources") {
|
||||
@@ -12,51 +12,12 @@ val bundledSourcesConfiguration = configurations.resolvable("bundledSources") {
|
||||
}
|
||||
}
|
||||
|
||||
configurations.implementation {
|
||||
exclude(group = "commons-logging", module = "commons-logging")
|
||||
}
|
||||
|
||||
val vendoredCommonsLogging = project.layout.settingsDirectory.file("vendor/commons-logging").asFile
|
||||
|
||||
dependencies {
|
||||
implementation("de.siphalor.tweed5:tweed5-core")
|
||||
implementation("de.siphalor.tweed5:tweed5-attributes-extension")
|
||||
implementation("de.siphalor.tweed5:tweed5-default-extensions")
|
||||
implementation("de.siphalor.tweed5:tweed5-serde-extension")
|
||||
implementation("de.siphalor.tweed5:tweed5-weaver-pojo")
|
||||
implementation("de.siphalor.tweed5:tweed5-weaver-pojo-attributes-extension")
|
||||
implementation("de.siphalor.tweed5:tweed5-weaver-pojo-presets-extension")
|
||||
implementation("de.siphalor.tweed5:tweed5-weaver-pojo-serde-extension")
|
||||
implementation("de.siphalor.tweed5:tweed5-weaver-pojo-validation-extension")
|
||||
|
||||
implementation(
|
||||
objects.fileCollection().apply {
|
||||
from(
|
||||
vendoredCommonsLogging.resolve("target")
|
||||
.listFiles { it.name.endsWith("SNAPSHOT.jar") }
|
||||
)
|
||||
builtBy("compileCommonsLogging")
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
tasks.register<Exec>("compileCommonsLogging") {
|
||||
inputs.file(vendoredCommonsLogging.resolve("pom.xml"))
|
||||
inputs.dir(vendoredCommonsLogging.resolve("src"))
|
||||
outputs.dir(vendoredCommonsLogging.resolve("target"))
|
||||
commandLine("mvn", "package", "-DskipTests")
|
||||
workingDir(vendoredCommonsLogging)
|
||||
}
|
||||
|
||||
tasks.shadowJar {
|
||||
relocate("org.objectweb.asm", "de.siphalor.tweed5.shadowed.org.objectweb.asm")
|
||||
|
||||
relocate("META-INF", "META-INF/tweed5-vendored/commons-logging") {
|
||||
include("META-INF/*.txt")
|
||||
}
|
||||
exclude("META-INF/maven/**")
|
||||
// Remove some obsolete classes
|
||||
exclude("org/apache/commons/logging/impl/WeakHashtable*")
|
||||
minecraftJij("de.siphalor.tweed5:tweed5-core")
|
||||
minecraftJij("de.siphalor.tweed5:tweed5-attributes-extension")
|
||||
minecraftJij("de.siphalor.tweed5:tweed5-default-extensions")
|
||||
minecraftJij("de.siphalor.tweed5:tweed5-serde-extension")
|
||||
minecraftJij(project(":tweed5-logging"))
|
||||
}
|
||||
|
||||
tasks.register<BundledSourcesJar>("sourcesJar") {
|
||||
|
||||
@@ -13,7 +13,9 @@ dependencies {
|
||||
listOf("fabric-key-binding-api-v1", "fabric-resource-loader-v0").forEach {
|
||||
modTestmodImplementation(fabricApi.module(it, mcLibs.versions.fabric.api.get()))
|
||||
}
|
||||
testmodImplementation(project(":tweed5-bundle", configuration = "minecraftModElements"))
|
||||
testmodImplementation(project(":tweed5-logging", configuration = "minecraftModApiElements"))
|
||||
testmodImplementation(project(":tweed5-bundle", configuration = "runtimeElements"))
|
||||
testmodImplementation(project(":tweed5-bundle-pojo-weaving", configuration = "runtimeElements"))
|
||||
testmodImplementation(project(":tweed5-fabric-helper", configuration = "namedElements"))
|
||||
modTestmodImplementation(mcLibs.coat)
|
||||
modTestmodImplementation(mcLibs.amecs.api)
|
||||
|
||||
@@ -19,7 +19,7 @@ dependencies {
|
||||
listOf("fabric-networking-api-v1", "fabric-lifecycle-events-v1").forEach {
|
||||
modTestmodImplementation(fabricApi.module(it, mcLibs.versions.fabric.api.get()))
|
||||
}
|
||||
testmodImplementation(project(":tweed5-bundle", configuration = "minecraftModElements"))
|
||||
testmodImplementation(project(":tweed5-bundle"))
|
||||
testmodImplementation("de.siphalor.tweed5:tweed5-comment-loader-extension")
|
||||
testmodImplementation("de.siphalor.tweed5:tweed5-serde-hjson")
|
||||
testmodImplementation("de.siphalor.tweed5:tweed5-serde-gson")
|
||||
|
||||
32
tweed5-minecraft/logging/build.gradle.kts
Normal file
32
tweed5-minecraft/logging/build.gradle.kts
Normal file
@@ -0,0 +1,32 @@
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.minecraft.mod.dummy")
|
||||
}
|
||||
|
||||
val vendoredCommonsLogging = project.layout.settingsDirectory.file("vendor/commons-logging").asFile
|
||||
|
||||
dependencies {
|
||||
shadowOnly(objects.fileCollection().apply {
|
||||
from(
|
||||
vendoredCommonsLogging.resolve("target")
|
||||
.listFiles { it.name.endsWith("SNAPSHOT.jar") }
|
||||
)
|
||||
builtBy("compileCommonsLogging")
|
||||
})
|
||||
}
|
||||
|
||||
tasks.register<Exec>("compileCommonsLogging") {
|
||||
inputs.file(vendoredCommonsLogging.resolve("pom.xml"))
|
||||
inputs.dir(vendoredCommonsLogging.resolve("src"))
|
||||
outputs.dir(vendoredCommonsLogging.resolve("target"))
|
||||
commandLine("mvn", "package", "-DskipTests")
|
||||
workingDir(vendoredCommonsLogging)
|
||||
}
|
||||
|
||||
tasks.shadowJar {
|
||||
relocate("META-INF", "META-INF/tweed5-vendored/commons-logging") {
|
||||
include("META-INF/*.txt")
|
||||
}
|
||||
exclude("META-INF/maven/**")
|
||||
// Remove some obsolete classes
|
||||
exclude("org/apache/commons/logging/impl/WeakHashtable*")
|
||||
}
|
||||
4
tweed5-minecraft/logging/gradle.properties
Normal file
4
tweed5-minecraft/logging/gradle.properties
Normal file
@@ -0,0 +1,4 @@
|
||||
module.name = Tweed 5 Logging
|
||||
module.description = Fork and relocation of Apache Commons Logging.\n\
|
||||
Contains a small fix to support older Log4j versions. \
|
||||
Also removes some obsolete classes.
|
||||
@@ -33,5 +33,6 @@
|
||||
"authors": [
|
||||
"Siphalor"
|
||||
],
|
||||
"version": "${version}"
|
||||
"version": "${version}",
|
||||
"jars": [${jars}]
|
||||
}
|
||||
|
||||
@@ -52,8 +52,10 @@ dependencyResolutionManagement {
|
||||
includeBuild("../tweed5")
|
||||
|
||||
includeNormalModule("bundle")
|
||||
includeNormalModule("bundle-pojo-weaving")
|
||||
includeNormalModule("coat-bridge")
|
||||
includeNormalModule("fabric-helper")
|
||||
includeNormalModule("logging")
|
||||
|
||||
fun includeNormalModule(name: String) {
|
||||
includeAs("tweed5-$name", name)
|
||||
|
||||
@@ -1,9 +1,19 @@
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.base-module")
|
||||
id("de.siphalor.tweed5.minecraft.mod.dummy")
|
||||
}
|
||||
|
||||
configurations.minecraftModApiElements {
|
||||
exclude("org.ow2.asm", "asm")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(":tweed5-utils"))
|
||||
implementation(project(":tweed5-type-utils"))
|
||||
implementation(libs.asm.core)
|
||||
shadowOnly(libs.asm.core)
|
||||
}
|
||||
|
||||
tasks.shadowJar {
|
||||
relocate("org.objectweb.asm", "de.siphalor.tweed5.annotationinheritance.shadowed.org.objectweb.asm")
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.base-module")
|
||||
id("de.siphalor.tweed5.minecraft.mod.dummy")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.base-module")
|
||||
id("de.siphalor.tweed5.minecraft.mod.dummy")
|
||||
id("de.siphalor.tweed5.shadow.explicit")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.base-module")
|
||||
id("de.siphalor.tweed5.minecraft.mod.dummy")
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.base-module")
|
||||
id("de.siphalor.tweed5.minecraft.mod.dummy")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.base-module")
|
||||
id("de.siphalor.tweed5.minecraft.mod.dummy")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.base-module")
|
||||
id("de.siphalor.tweed5.minecraft.mod.dummy")
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.base-module")
|
||||
id("de.siphalor.tweed5.minecraft.mod.dummy")
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.base-module")
|
||||
id("de.siphalor.tweed5.minecraft.mod.dummy")
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.base-module")
|
||||
id("de.siphalor.tweed5.minecraft.mod.dummy")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.base-module")
|
||||
id("de.siphalor.tweed5.minecraft.mod.dummy")
|
||||
id("de.siphalor.tweed5.shadow.explicit")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
@@ -8,7 +8,3 @@ dependencies {
|
||||
|
||||
testImplementation(project(":serde-json-test-utils"))
|
||||
}
|
||||
|
||||
tasks.shadowJar {
|
||||
configurations = setOf()
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.base-module")
|
||||
id("de.siphalor.tweed5.minecraft.mod.dummy")
|
||||
id("de.siphalor.tweed5.shadow.explicit")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.base-module")
|
||||
id("de.siphalor.tweed5.minecraft.mod.dummy")
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.base-module")
|
||||
id("de.siphalor.tweed5.minecraft.mod.dummy")
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.base-module")
|
||||
id("de.siphalor.tweed5.minecraft.mod.dummy")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.base-module")
|
||||
id("de.siphalor.tweed5.minecraft.mod.dummy")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.base-module")
|
||||
id("de.siphalor.tweed5.minecraft.mod.dummy")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.base-module")
|
||||
id("de.siphalor.tweed5.minecraft.mod.dummy")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.base-module")
|
||||
id("de.siphalor.tweed5.minecraft.mod.dummy")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
Reference in New Issue
Block a user