From 7de6c528aaf13caf5e99d688aab6f7611f872f6f Mon Sep 17 00:00:00 2001 From: sky Date: Sat, 19 Sep 2020 21:52:42 +0800 Subject: [PATCH] Update --- build.gradle | 60 +++++-------------- gradle/wrapper/gradle-wrapper.properties | 2 +- src/main/java/ink/ptms/zaphkiel/Zaphkiel.kt | 44 +++++++------- .../java/ink/ptms/zaphkiel/ZaphkielAPI.kt | 23 ++++--- .../java/ink/ptms/zaphkiel/ZaphkielCommand.kt | 3 +- src/main/java/ink/ptms/zaphkiel/api/Item.kt | 2 +- .../ink/ptms/zaphkiel/api/data/DatabaseSQL.kt | 7 +-- .../ptms/zaphkiel/module/ItemDurability.kt | 6 +- .../ink/ptms/zaphkiel/module/ItemInternet.kt | 8 +-- src/main/resources/plugin.yml | 17 ++++-- 10 files changed, 74 insertions(+), 98 deletions(-) diff --git a/build.gradle b/build.gradle index 272ba78..399932a 100644 --- a/build.gradle +++ b/build.gradle @@ -1,62 +1,34 @@ plugins { id 'java' - id 'com.github.johnrengelman.shadow' version '4.0.4' - id 'org.jetbrains.kotlin.jvm' version '1.2.41' + id 'io.izzel.taboolib' version '1.2' + id 'org.jetbrains.kotlin.jvm' version '1.4.0-rc' } -configurations { - group = 'ink.ptms.zaphkiel' - version = '1.3-SNAPSHOT' +group = 'ink.ptms.zaphkiel' +version = '1.2' - sourceCompatibility = 1.8 - targetCompatibility = 1.8 +sourceCompatibility = 1.8 +targetCompatibility = 1.8 - tasks.build.dependsOn tasks.shadowJar - - tasks.withType(JavaCompile) { - options.encoding = 'UTF-8' - } - - defaultTasks 'clean', 'build' +taboolib { + tabooLibVersion = '5.36' + loaderVersion = '2.6' + classifier = null } repositories { - maven { url "http://ptms.ink:8081/repository/codemc-nms/" } - maven { url "http://ptms.ink:8081/repository/maven-releases/" } - mavenCentral() + mavenCentral() } dependencies { - compile 'org.spigotmc:spigot:1.14.4-R0.1-20191211.040645-13' - compile 'io.izzel.taboolib:TabooLib:5.17:all' - compile 'io.izzel.taboolib.loader:TabooLibloader:1.5:all' - compile "org.jetbrains.kotlin:kotlin-stdlib:1.2.41" - compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.41" - compileOnly fileTree(dir: 'libs', includes: ['*.jar']) -} - -shadowJar { - dependencies { - include dependency('io.izzel.taboolib.loader:.*') - } - relocate 'io.izzel.taboolib.loader', project.group + compile 'ink.ptms.core:v11600:11600:all' + compile 'org.jetbrains.kotlin:kotlin-stdlib' + compileOnly fileTree(dir: 'libs', includes: ['*.jar']) } processResources { from(sourceSets.main.resources.srcDirs) { - include 'plugin.yml' - expand 'version': project.version - } -} - -compileKotlin { - kotlinOptions { - jvmTarget = "1.8" - } -} - -compileTestKotlin { - kotlinOptions { - jvmTarget = "1.8" + include "plugin.yml" + expand name: rootProject.name, main: project.group + ".boot.PluginBoot", version: project.version, "libVersion": taboolib.tabooLibVersion } } \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 290541c..f603712 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-bin.zip +distributionUrl=https://skymc.oss-cn-shanghai.aliyuncs.com/files/gradle-6.5-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/java/ink/ptms/zaphkiel/Zaphkiel.kt b/src/main/java/ink/ptms/zaphkiel/Zaphkiel.kt index 23b0164..d7cb2de 100644 --- a/src/main/java/ink/ptms/zaphkiel/Zaphkiel.kt +++ b/src/main/java/ink/ptms/zaphkiel/Zaphkiel.kt @@ -1,34 +1,38 @@ -package ink.ptms.zaphkiel; +package ink.ptms.zaphkiel -import io.izzel.taboolib.loader.Plugin; -import io.izzel.taboolib.module.config.TConfig; -import io.izzel.taboolib.module.inject.TInject; -import io.izzel.taboolib.module.inject.TSchedule; -import io.izzel.taboolib.module.locale.logger.TLogger; - -import java.io.File; +import ink.ptms.zaphkiel.ZaphkielAPI.folderDisplay +import ink.ptms.zaphkiel.ZaphkielAPI.folderItem +import ink.ptms.zaphkiel.ZaphkielAPI.reloadDisplay +import ink.ptms.zaphkiel.ZaphkielAPI.reloadItem +import io.izzel.taboolib.loader.Plugin +import io.izzel.taboolib.module.config.TConfig +import io.izzel.taboolib.module.inject.TInject +import io.izzel.taboolib.module.inject.TSchedule +import io.izzel.taboolib.module.locale.logger.TLogger /** * @Author sky * @Since 2019-12-15 20:09 */ -@Plugin.Version(5.17) -public class Zaphkiel extends Plugin { +object Zaphkiel : Plugin() { @TInject - public static final TLogger LOGS = null; + lateinit var conf: TConfig + private set + @TInject - public static final TConfig CONF = null; + lateinit var logger: TLogger + private set @TSchedule(delay = 20) - public static void reload() { - if (!ZaphkielAPI.INSTANCE.getFolderItem().exists()) { - getPlugin().saveResource("item/def.yml", true); + fun reload() { + if (!folderItem.exists()) { + plugin.saveResource("item/def.yml", true) } - if (!ZaphkielAPI.INSTANCE.getFolderDisplay().exists()) { - getPlugin().saveResource("display/def.yml", true); + if (!folderDisplay.exists()) { + plugin.saveResource("display/def.yml", true) } - ZaphkielAPI.INSTANCE.reloadDisplay(); - ZaphkielAPI.INSTANCE.reloadItem(); + reloadDisplay() + reloadItem() } -} +} \ No newline at end of file diff --git a/src/main/java/ink/ptms/zaphkiel/ZaphkielAPI.kt b/src/main/java/ink/ptms/zaphkiel/ZaphkielAPI.kt index 8f67df9..bd2c30a 100644 --- a/src/main/java/ink/ptms/zaphkiel/ZaphkielAPI.kt +++ b/src/main/java/ink/ptms/zaphkiel/ZaphkielAPI.kt @@ -24,7 +24,6 @@ import org.bukkit.inventory.ItemStack import org.bukkit.potion.PotionEffectType import org.bukkit.util.io.BukkitObjectInputStream import org.bukkit.util.io.BukkitObjectOutputStream -import java.awt.Event import java.io.ByteArrayInputStream import java.io.ByteArrayOutputStream import java.io.File @@ -40,13 +39,13 @@ object ZaphkielAPI { val events = Events val loaded = ArrayList() - val folderItem = File(Zaphkiel.getPlugin().dataFolder, "item") - val folderDisplay = File(Zaphkiel.getPlugin().dataFolder, "display") + val folderItem = File(Zaphkiel.plugin.dataFolder, "item") + val folderDisplay = File(Zaphkiel.plugin.dataFolder, "display") val registeredItem = Maps.newHashMap()!! val registeredModel = Maps.newHashMap()!! val registeredDisplay = Maps.newHashMap()!! val database by lazy { - if (Zaphkiel.CONF.contains("Database.host")) { + if (Zaphkiel.conf.contains("Database.host")) { try { return@lazy DatabaseSQL() } catch (t: Throwable) { @@ -69,7 +68,7 @@ object ZaphkielAPI { return if (read.isExtension()) { read.getZaphkielName() } else { - null; + null } } @@ -78,7 +77,7 @@ object ZaphkielAPI { return if (read.isExtension()) { read.getZaphkielData() } else { - null; + null } } @@ -87,7 +86,7 @@ object ZaphkielAPI { return if (read.isExtension()) { read.getZaphkielData().getDeep("zaphkiel.${ItemKey.UNIQUE.key}").asCompound() } else { - null; + null } } @@ -96,13 +95,13 @@ object ZaphkielAPI { return if (read.isExtension()) { read.getZaphkielItem() } else { - null; + null } } fun read(item: ItemStack): ItemStream { if (Items.isNull(item)) { - throw RuntimeException("Could not read empty item."); + throw RuntimeException("Could not read empty item.") } return ItemStream(item) } @@ -122,7 +121,7 @@ object ZaphkielAPI { fun rebuild(player: Player?, item: ItemStack): ItemStream { if (Items.isNull(item)) { - throw RuntimeException("Could not read empty item."); + throw RuntimeException("Could not read empty item.") } val itemStream = ItemStream(item) if (itemStream.isVanilla()) { @@ -142,7 +141,7 @@ object ZaphkielAPI { reloadModel(folderItem) reloadItem(folderItem) PluginReloadEvent.Item().call() - Zaphkiel.LOGS.info("Loaded ${registeredItem.size} item(s) and ${registeredModel.size} model(s).") + Zaphkiel.logger.info("Loaded ${registeredItem.size} item(s) and ${registeredModel.size} model(s).") } fun reloadItem(file: File) { @@ -191,7 +190,7 @@ object ZaphkielAPI { registeredDisplay.clear() reloadDisplay(folderDisplay) PluginReloadEvent.Display().call() - Zaphkiel.LOGS.info("Loaded ${registeredDisplay.size} display plan(s).") + Zaphkiel.logger.info("Loaded ${registeredDisplay.size} display plan(s).") } fun reloadDisplay(file: File) { diff --git a/src/main/java/ink/ptms/zaphkiel/ZaphkielCommand.kt b/src/main/java/ink/ptms/zaphkiel/ZaphkielCommand.kt index 16cb616..c3d5420 100644 --- a/src/main/java/ink/ptms/zaphkiel/ZaphkielCommand.kt +++ b/src/main/java/ink/ptms/zaphkiel/ZaphkielCommand.kt @@ -1,6 +1,5 @@ package ink.ptms.zaphkiel -import ink.ptms.zaphkiel.api.Display import ink.ptms.zaphkiel.api.ItemStream import ink.ptms.zaphkiel.api.internal.ItemList import io.izzel.taboolib.cronus.CronusUtils @@ -111,7 +110,7 @@ class ZaphkielCommand : BaseMainCommand() { override fun getDescription(): String = "重载插件" override fun onCommand(sender: CommandSender, command: Command?, label: String, args: Array) { - Zaphkiel.CONF.reload() + Zaphkiel.conf.reload() Zaphkiel.reload() notify(sender, "插件已重载.") } diff --git a/src/main/java/ink/ptms/zaphkiel/api/Item.kt b/src/main/java/ink/ptms/zaphkiel/api/Item.kt index 4a62d6f..bc2650a 100644 --- a/src/main/java/ink/ptms/zaphkiel/api/Item.kt +++ b/src/main/java/ink/ptms/zaphkiel/api/Item.kt @@ -48,7 +48,7 @@ class Item( if (model != null) { map.putAll(parseEvent(this, model.config)) } else { - Zaphkiel.LOGS.error("Model ${this.model} not found.") + Zaphkiel.logger.error("Model ${this.model} not found.") } } } else { diff --git a/src/main/java/ink/ptms/zaphkiel/api/data/DatabaseSQL.kt b/src/main/java/ink/ptms/zaphkiel/api/data/DatabaseSQL.kt index 44e27bf..9b6f29f 100644 --- a/src/main/java/ink/ptms/zaphkiel/api/data/DatabaseSQL.kt +++ b/src/main/java/ink/ptms/zaphkiel/api/data/DatabaseSQL.kt @@ -1,14 +1,11 @@ package ink.ptms.zaphkiel.api.data import ink.ptms.zaphkiel.Zaphkiel -import ink.ptms.zaphkiel.ZaphkielAPI import io.izzel.taboolib.module.db.source.DBSource -import io.izzel.taboolib.module.db.sql.SQLColumn import io.izzel.taboolib.module.db.sql.SQLHost import io.izzel.taboolib.module.db.sql.SQLTable import io.izzel.taboolib.module.db.sql.query.Where import io.izzel.taboolib.module.inject.PlayerContainer -import org.bukkit.Bukkit import org.bukkit.configuration.file.FileConfiguration import org.bukkit.configuration.file.YamlConfiguration import org.bukkit.entity.Player @@ -24,8 +21,8 @@ import javax.sql.DataSource */ class DatabaseSQL : Database() { - val host = SQLHost(Zaphkiel.CONF.getConfigurationSection("Database"), Zaphkiel.getPlugin(), true) - val table = SQLTable(Zaphkiel.CONF.getString("Database.table")).column("\$primary_key_id", "text:name", "text:data")!! + val host = SQLHost(Zaphkiel.conf.getConfigurationSection("Database"), Zaphkiel.getPlugin(), true) + val table = SQLTable(Zaphkiel.conf.getString("Database.table")).column("\$primary_key_id", "text:name", "text:data")!! val dataSource: DataSource = DBSource.create(host) init { diff --git a/src/main/java/ink/ptms/zaphkiel/module/ItemDurability.kt b/src/main/java/ink/ptms/zaphkiel/module/ItemDurability.kt index 56a5380..9067357 100644 --- a/src/main/java/ink/ptms/zaphkiel/module/ItemDurability.kt +++ b/src/main/java/ink/ptms/zaphkiel/module/ItemDurability.kt @@ -3,13 +3,11 @@ package ink.ptms.zaphkiel.module import com.google.common.collect.Lists import ink.ptms.zaphkiel.Zaphkiel import ink.ptms.zaphkiel.api.ItemStream -import ink.ptms.zaphkiel.api.event.single.ItemBuildEvent import ink.ptms.zaphkiel.api.event.single.ItemReleaseEvent import ink.ptms.zaphkiel.api.event.PluginReloadEvent import ink.ptms.zaphkiel.api.event.single.Events import io.izzel.taboolib.module.inject.TListener import io.izzel.taboolib.module.nms.nbt.NBTBase -import org.bukkit.Bukkit import org.bukkit.event.EventHandler import org.bukkit.event.EventPriority import org.bukkit.event.Listener @@ -59,8 +57,8 @@ private class ItemDurability : Listener { @EventHandler fun e(e: PluginReloadEvent.Item) { - durability = Zaphkiel.CONF.getString("Durability.display") - durabilitySymbol = Lists.newArrayList(Zaphkiel.CONF.getString("Durability.display-symbol.0"), Zaphkiel.CONF.getString("Durability.display-symbol.1")) + durability = Zaphkiel.conf.getString("Durability.display") + durabilitySymbol = Lists.newArrayList(Zaphkiel.conf.getString("Durability.display-symbol.0"), Zaphkiel.conf.getString("Durability.display-symbol.1")) } @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) diff --git a/src/main/java/ink/ptms/zaphkiel/module/ItemInternet.kt b/src/main/java/ink/ptms/zaphkiel/module/ItemInternet.kt index d5b1bea..3bbe5ee 100644 --- a/src/main/java/ink/ptms/zaphkiel/module/ItemInternet.kt +++ b/src/main/java/ink/ptms/zaphkiel/module/ItemInternet.kt @@ -26,7 +26,7 @@ class ItemInternet : Listener { fun reloadItem() { val folder = File(ZaphkielAPI.folderItem, "__cache__") - val files = Zaphkiel.CONF.getStringList("InternetItem.item").map { host -> + val files = Zaphkiel.conf.getStringList("InternetItem.item").map { host -> Files.toFile(Files.readFromURL(host, StandardCharsets.UTF_8).toString(), File(folder, Strings.hashKeyForDisk(host))) } files.forEach { ZaphkielAPI.reloadModel(it) } @@ -35,7 +35,7 @@ class ItemInternet : Listener { fun reloadDisplay() { val folder = File(ZaphkielAPI.folderDisplay, "__cache__") - Zaphkiel.CONF.getStringList("InternetItem.display").forEach { host -> + Zaphkiel.conf.getStringList("InternetItem.display").forEach { host -> ZaphkielAPI.reloadDisplay(Files.toFile(Files.readFromURL(host, StandardCharsets.UTF_8).toString(), File(folder, Strings.hashKeyForDisk(host)))) } } @@ -48,11 +48,11 @@ class ItemInternet : Listener { val countDisplay = ZaphkielAPI.registeredDisplay.size reloadItem() if (countItem < ZaphkielAPI.registeredItem.size || countModel > ZaphkielAPI.registeredModel.size) { - Zaphkiel.LOGS.info("Loaded ${ZaphkielAPI.registeredItem.size - countItem} item(s) and ${ZaphkielAPI.registeredModel.size - countModel} model(s). §6[Internet]") + Zaphkiel.logger.info("Loaded ${ZaphkielAPI.registeredItem.size - countItem} item(s) and ${ZaphkielAPI.registeredModel.size - countModel} model(s). §6[Internet]") } reloadDisplay() if (countDisplay < ZaphkielAPI.registeredDisplay.size) { - Zaphkiel.LOGS.info("Loaded ${ZaphkielAPI.registeredDisplay.size - countDisplay} display plan(s). §6[Internet]") + Zaphkiel.logger.info("Loaded ${ZaphkielAPI.registeredDisplay.size - countDisplay} display plan(s). §6[Internet]") } }) } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 8355f34..125febe 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,13 @@ -name: Zaphkiel -main: ink.ptms.zaphkiel.Zaphkiel -author: 坏黑 -api-version: 1.13 -version: ${version} \ No newline at end of file + +# Powered by TabooLib 5.0 # + + +name: ${name} +main: ${main} +version: ${version} +authors: + - Bkm016 + +lib-version: ${libVersion} +api-version: 1.13 \ No newline at end of file