diff --git a/platforms/sponge/build.gradle.kts b/platforms/sponge/build.gradle.kts new file mode 100644 index 000000000..998aa9b20 --- /dev/null +++ b/platforms/sponge/build.gradle.kts @@ -0,0 +1,50 @@ +plugins { + java + maven + id("org.spongepowered.plugin").version("0.9.0") + id("com.github.johnrengelman.shadow") +} + +group = "com.dfsek.terra" + +repositories { + mavenCentral() + jcenter() + maven { url = uri("https://repo.codemc.org/repository/maven-public") } +} + +dependencies { + compile("org.spongepowered:spongeapi:7.2.0") + + testImplementation("org.junit.jupiter:junit-jupiter-api:5.7.0") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.7.0") + + implementation("org.apache.commons:commons-rng-core:1.3") + + implementation("com.scireum:parsii:1.2.1") + implementation("com.dfsek:Tectonic:1.0.3") + implementation("net.jafama:jafama:2.3.2") + + compileOnly("com.googlecode.json-simple:json-simple:1.1") + + implementation("com.google.guava:guava:30.0-jre") + + compileOnly("org.jetbrains:annotations:20.1.0") + + implementation(project(":common")) +} + +tasks.named("shadowJar") { + + archiveClassifier.set("") + archiveBaseName.set("Terra") + setVersion(project.version) + relocate("org.apache.commons", "com.dfsek.terra.lib.commons") + relocate("org.bstats.bukkit", "com.dfsek.terra.lib.bstats") + relocate("parsii", "com.dfsek.terra.lib.parsii") + relocate("io.papermc.lib", "com.dfsek.terra.lib.paperlib") + relocate("net.jafama", "com.dfsek.terra.lib.jafama") + relocate("com.dfsek.tectonic", "com.dfsek.terra.lib.tectonic") + relocate("net.jafama", "com.dfsek.terra.lib.jafama") + minimize() +} \ No newline at end of file diff --git a/platforms/sponge/src/main/java/com/dfsek/terra/sponge/TerraSpongePlugin.java b/platforms/sponge/src/main/java/com/dfsek/terra/sponge/TerraSpongePlugin.java new file mode 100644 index 000000000..d53304c0b --- /dev/null +++ b/platforms/sponge/src/main/java/com/dfsek/terra/sponge/TerraSpongePlugin.java @@ -0,0 +1,83 @@ +package com.dfsek.terra.sponge; + +import com.dfsek.tectonic.loading.TypeRegistry; +import com.dfsek.terra.TerraWorld; +import com.dfsek.terra.api.gaea.lang.Language; +import com.dfsek.terra.api.generic.TerraPlugin; +import com.dfsek.terra.api.generic.inventory.ItemHandle; +import com.dfsek.terra.api.generic.world.World; +import com.dfsek.terra.api.generic.world.WorldHandle; +import com.dfsek.terra.config.base.PluginConfig; +import com.dfsek.terra.registry.ConfigRegistry; +import org.spongepowered.api.plugin.Plugin; + +import javax.inject.Inject; +import java.io.File; +import java.util.logging.Logger; + +@Plugin(id = "terra", name = "Terra", version = "@VERSION", description = "Terra world generator") +public class TerraSpongePlugin implements TerraPlugin { + + @Inject + private Logger logger; + + @Override + public WorldHandle getWorldHandle() { + return null; + } + + @Override + public boolean isEnabled() { + return false; + } + + @Override + public TerraWorld getWorld(World world) { + return null; + } + + @Override + public Logger getLogger() { + return logger; + } + + @Override + public PluginConfig getTerraConfig() { + return null; + } + + @Override + public File getDataFolder() { + return null; + } + + @Override + public boolean isDebug() { + return false; + } + + @Override + public Language getLanguage() { + return null; + } + + @Override + public ConfigRegistry getRegistry() { + return null; + } + + @Override + public void reload() { + + } + + @Override + public ItemHandle getItemHandle() { + return null; + } + + @Override + public void register(TypeRegistry registry) { + + } +} diff --git a/settings.gradle.kts b/settings.gradle.kts index 29b117099..c98090194 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -32,4 +32,7 @@ gradleEnterprise { termsOfServiceAgree = "yes" // publishAlwaysIf(true) } -} \ No newline at end of file +} +include("sponge") +include("platforms:sponge") +findProject(":platforms:sponge")?.name = "sponge"