mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-06-28 11:44:42 +02:00
Complete Kotlin-DSL Gradle scripting for multiple projects.
Added the shadow plugin integration with the entire project. Indvidual modules each have their designated dependencies and each will assign various dependencies based on constants now made through buildSrc. Signed-off-by: Gabriel Harris-Rouquette <gabizou@me.com>
This commit is contained in:
@ -1,12 +1,47 @@
|
||||
plugins {
|
||||
java
|
||||
// Apply the spongegradle plugin to generate the metadata file
|
||||
id("org.spongepowered.plugin") version "0.9.0" // supplies sponge repo and plugin metadata creation tasks
|
||||
import net.minecraftforge.gradle.user.UserBaseExtension
|
||||
import Config.Libs.Sponge.API7 as API7
|
||||
|
||||
buildscript {
|
||||
repositories {
|
||||
jcenter()
|
||||
maven(Repos.forge)
|
||||
}
|
||||
dependencies {
|
||||
classpath(Plugins.FG2_3.classpath)
|
||||
}
|
||||
}
|
||||
// Extension created to set up the minecraft block for ForgeGradle. This should change in FG3.
|
||||
val Project.minecraft: UserBaseExtension
|
||||
get() = extensions.getByName<UserBaseExtension>(Plugins.FG2_3.extensionName)
|
||||
|
||||
plugins {
|
||||
`java-library`
|
||||
// Apply the spongegradle plugin to generate the metadata file
|
||||
id(Config.Libs.Sponge.API7.spongeGradleId) version Config.Libs.Sponge.API7.spongeGradleVersion // supplies sponge repo and plugin metadata creation tasks
|
||||
}
|
||||
apply(plugin = API7.forgeGradleId)
|
||||
|
||||
dependencies {
|
||||
compile("org.spongepowered", "spongeapi", "7.1.0") // SpongeAPI
|
||||
compile("org.bstats", "bstats-sponge", "1.4") // Sponge bstats
|
||||
compileOnly(API7.api) // SpongeAPI
|
||||
}
|
||||
|
||||
configure<UserBaseExtension> {
|
||||
version = API7.minecraftVersion
|
||||
runDir = "run"
|
||||
mappings = API7.mappings
|
||||
}
|
||||
|
||||
tasks.withType<Jar> {
|
||||
inputs.properties += "version" to project.version
|
||||
inputs.properties += "mcversion" to project.minecraft.version
|
||||
|
||||
baseName = "mcmmo"
|
||||
|
||||
filesMatching("/mcmod.info") {
|
||||
expand(mapOf(
|
||||
"version" to project.version,
|
||||
"mcversion" to project.minecraft.version
|
||||
))
|
||||
}
|
||||
}
|
||||
|
||||
description = "mcMMO for Sponge"
|
||||
|
3
sponge/api7/gradle.properties
Normal file
3
sponge/api7/gradle.properties
Normal file
@ -0,0 +1,3 @@
|
||||
mod_name = "mcmmo"
|
||||
mod_version = "2.2-SNAPSHOT"
|
||||
mc_version = "1.12.2"
|
@ -0,0 +1,19 @@
|
||||
package com.gmail.nossr50.sponge.api7;
|
||||
|
||||
import net.minecraft.item.Item;
|
||||
import org.spongepowered.api.event.Listener;
|
||||
import org.spongepowered.api.event.game.GameRegistryEvent;
|
||||
import org.spongepowered.api.item.ItemType;
|
||||
import org.spongepowered.api.plugin.Plugin;
|
||||
|
||||
@Plugin(id = "mcmmo", name = "mcMMO", description = "mcMMO for Sponge")
|
||||
public class API7Plugin {
|
||||
|
||||
@SuppressWarnings("ConstantConditions")
|
||||
@Listener
|
||||
public void onRegister(GameRegistryEvent.Register<ItemType> event) {
|
||||
Item derp = new Item(); // NMS!!!
|
||||
event.register((ItemType) derp); // Since sponge mixes into Item, we can cast.
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user