Split project

This commit is contained in:
Len 2022-07-09 14:53:27 +02:00
parent 259e806d59
commit bde0f5d040
25 changed files with 132 additions and 69 deletions

View File

@ -10,7 +10,7 @@ Downloads can be obtained on GitHub actions page.
Clone the repo using `git clone https://github.com/Altitude-Devs/PlayerShops.git`.
#### Building
Use the command `./gradlew build --stacktrace` in the project root directory.
Use the command `./gradlew shadowJar --stacktrace` in the project root directory.
The compiled jar will be placed in directory `/build/libs/`.
## **Commands**

23
api/build.gradle.kts Normal file
View File

@ -0,0 +1,23 @@
plugins {
`maven-publish`
}
dependencies {
compileOnly("com.alttd:Galaxy-API:1.18.2-R0.1-SNAPSHOT")
}
publishing {
publications {
create<MavenPublication>("mavenJava") {
from(components["java"])
}
}
repositories{
maven {
name = "maven"
url = uri("https://repo.destro.xyz/snapshots")
credentials(PasswordCredentials::class)
}
}
}

View File

@ -1,6 +1,5 @@
package com.alttd.playershops.api;
import com.alttd.playershops.shop.ShopType;
import org.bukkit.Location;
import org.bukkit.inventory.ItemStack;

View File

@ -0,0 +1,15 @@
package com.alttd.playershops.api;
public enum ShopType {
SELL,
BUY,
GAMBLE,
BARTER;
@Override
public String toString() {
return name().toLowerCase();
}
}

View File

@ -1,53 +1,35 @@
import java.io.ByteArrayOutputStream
import java.io.FileOutputStream
import java.net.URL
plugins {
id("java")
id("net.minecrell.plugin-yml.bukkit") version "0.5.1"
}
group = "com.alttd.playershops"
version = "1.0-SNAPSHOT"
apply<JavaLibraryPlugin>()
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(17))
}
allprojects {
group = "com.alttd.playershops"
version = "1.0-SNAPSHOT"
description = "Player Shop plugin for Altitude."
}
tasks {
withType<JavaCompile> {
options.encoding = Charsets.UTF_8.name()
subprojects {
apply<JavaLibraryPlugin>()
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(17))
}
}
withType<Javadoc> {
options.encoding = Charsets.UTF_8.name()
tasks {
withType<JavaCompile> {
options.encoding = Charsets.UTF_8.name()
}
withType<Javadoc> {
options.encoding = Charsets.UTF_8.name()
}
}
}
dependencies {
compileOnly("com.alttd:Galaxy-API:1.18.2-R0.1-SNAPSHOT")
compileOnly("com.github.milkbowl:VaultAPI:1.7") {
exclude("org.bukkit","bukkit")
}
compileOnly("com.github.TechFortress:GriefPrevention:16.17.1")
compileOnly("org.projectlombok:lombok:1.18.24")
annotationProcessor("org.projectlombok:lombok:1.18.24")
}
bukkit {
name = rootProject.name
main = "$group.${rootProject.name}"
version = "${rootProject.version}-${gitCommit()}"
apiVersion = "1.18"
authors = listOf("destro174")
depend = listOf("Vault")
}
fun gitCommit(): String {
val os = ByteArrayOutputStream()
project.exec {

50
plugin/build.gradle.kts Normal file
View File

@ -0,0 +1,50 @@
import java.io.ByteArrayOutputStream
plugins {
id("java")
id("net.minecrell.plugin-yml.bukkit") version "0.5.1"
id("com.github.johnrengelman.shadow") version "7.1.0"
}
dependencies {
implementation(project(":api"))
compileOnly("com.alttd:Galaxy-API:1.18.2-R0.1-SNAPSHOT")
compileOnly("com.github.milkbowl:VaultAPI:1.7") {
exclude("org.bukkit","bukkit")
}
compileOnly("com.github.TechFortress:GriefPrevention:16.17.1")
compileOnly("org.projectlombok:lombok:1.18.24")
annotationProcessor("org.projectlombok:lombok:1.18.24")
}
bukkit {
name = rootProject.name
main = "$group.${rootProject.name}"
version = "${rootProject.version}-${gitCommit()}"
apiVersion = "1.18"
authors = listOf("destro174")
depend = listOf("Vault")
}
fun gitCommit(): String {
val os = ByteArrayOutputStream()
project.exec {
commandLine = "git rev-parse --short HEAD".split(" ")
standardOutput = os
}
return String(os.toByteArray()).trim()
}
tasks {
shadowJar {
archiveFileName.set("${rootProject.name}-${project.version}.jar")
}
build {
dependsOn(shadowJar)
}
}

View File

@ -1,10 +1,10 @@
package com.alttd.playershops;
import com.alttd.playershops.api.ShopHandler;
import com.alttd.playershops.config.Config;
import com.alttd.playershops.handler.ShopHandlerImpl;
import com.alttd.playershops.listener.PlayerListener;
import com.alttd.playershops.listener.ShopListener;
import com.alttd.playershops.config.Config;
import com.alttd.playershops.handler.ShopHandlerImpl;
import lombok.Getter;
import net.milkbowl.vault.economy.Economy;
import org.bukkit.Bukkit;

View File

@ -1,18 +1,22 @@
package com.alttd.playershops.config;
import com.alttd.galaxy.configuration.AbstractConfiguration;
import com.alttd.playershops.api.Shop;
import com.alttd.playershops.api.ShopType;
import java.io.File;
import java.util.HashMap;
@SuppressWarnings("unused")
public class Config extends AbstractConfiguration {
private Config() {
super(new File(System.getProperty("user.home") + File.separator + "share" + File.separator + "configs" + File.separator + "playershops"), "config");
super(new File(System.getProperty("user.home") + File.separator + "share" + File.separator + "configs" + File.separator + "com/alttd/playershops"), "config");
}
static Config config;
static int version;
static HashMap<ShopType, ShopTypeConfig> shopTypeConfigs;
public static void reload() {
config = new Config();
@ -21,6 +25,11 @@ public class Config extends AbstractConfiguration {
config.set("config-version", 1);
config.readConfig(Config.class, null);
shopTypeConfigs = new HashMap<>();
for (ShopType shopType : ShopType.values()) {
shopTypeConfigs.put(shopType, new ShopTypeConfig(shopType.toString()));
}
}
public static int shopLimit = 100;

View File

@ -1,10 +1,9 @@
package com.alttd.playershops.handler;
import com.alttd.playershops.PlayerShops;
import com.alttd.playershops.config.Config;
import com.alttd.playershops.api.Shop;
import com.alttd.playershops.api.ShopHandler;
import com.alttd.playershops.config.Config;
import com.alttd.playershops.shop.AbstractShop;
import it.unimi.dsi.fastutil.objects.Object2IntMap;
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
import lombok.Getter;

View File

@ -4,7 +4,6 @@ import com.alttd.playershops.PlayerShops;
import com.alttd.playershops.api.Shop;
import com.alttd.playershops.api.ShopHandler;
import com.alttd.playershops.config.Config;
import com.alttd.playershops.shop.AbstractShop;
import org.bukkit.block.Block;
import org.bukkit.block.Sign;
import org.bukkit.entity.Player;

View File

@ -1,6 +1,7 @@
package com.alttd.playershops.shop;
import com.alttd.playershops.api.Shop;
import com.alttd.playershops.api.ShopType;
import lombok.Getter;
import lombok.Setter;
import org.bukkit.Bukkit;

View File

@ -1,5 +1,6 @@
package com.alttd.playershops.shop;
import com.alttd.playershops.api.ShopType;
import org.bukkit.Location;
import java.util.UUID;

View File

@ -1,5 +1,6 @@
package com.alttd.playershops.shop;
import com.alttd.playershops.api.ShopType;
import org.bukkit.Location;
import java.util.UUID;

View File

@ -1,5 +1,6 @@
package com.alttd.playershops.shop;
import com.alttd.playershops.api.ShopType;
import org.bukkit.Location;
import org.bukkit.inventory.ItemStack;

View File

@ -1,5 +1,6 @@
package com.alttd.playershops.shop;
import com.alttd.playershops.api.ShopType;
import org.bukkit.Location;
import java.util.UUID;

View File

@ -1,5 +1,8 @@
rootProject.name = "PlayerShops"
include(":api")
include(":plugin")
dependencyResolutionManagement {
repositories {
mavenCentral()
@ -17,4 +20,6 @@ pluginManagement {
repositories {
gradlePluginPortal()
}
}
}
include("api")
include("plugin")

View File

@ -1,23 +0,0 @@
package com.alttd.playershops.shop;
import com.alttd.playershops.config.ShopTypeConfig;
public enum ShopType {
SELL,
BUY,
GAMBLE,
BARTER;
private final ShopTypeConfig shopTypeConfig;
ShopType() {
this.shopTypeConfig = new ShopTypeConfig(toString());
}
@Override
public String toString() {
return name().toLowerCase();
}
}