Skip to content

Commit efc6742

Browse files
author
BuildTools
committed
Try to fix the remaining issues.
1 parent da1b2cf commit efc6742

File tree

25 files changed

+141
-198
lines changed

25 files changed

+141
-198
lines changed

common/build.gradle.kts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ dependencies {
1717
compileOnly("com.google.code.gson:gson:2.8.6")
1818
compileOnly("org.slf4j:slf4j-log4j12:1.7.30")
1919
implementation("commons-io:commons-io:2.7")
20-
implementation("me.scoretwo:commons-syntaxes:2.0.1-SNAPSHOT")
21-
implementation("me.scoretwo:commons-command:2.0.1-SNAPSHOT")
22-
implementation("me.scoretwo:commons-server:2.0.1-SNAPSHOT")
23-
implementation("me.scoretwo:commons-bukkit-configuration:2.0.1-SNAPSHOT")
20+
implementation("me.scoretwo:commons-syntaxes:2.0.2-SNAPSHOT")
21+
implementation("me.scoretwo:commons-command:2.0.2-SNAPSHOT")
22+
implementation("me.scoretwo:commons-server:2.0.2-SNAPSHOT")
23+
implementation("me.scoretwo:commons-bukkit-configuration:2.0.2-SNAPSHOT")
2424
}
2525

2626
configure<PublishingExtension> {

common/src/main/kotlin/me/scoretwo/fastscript/FastScript.kt

Lines changed: 10 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,34 @@
11
package me.scoretwo.fastscript
22

3+
import me.scoretwo.fastscript.api.format.FormatHeader
34
import me.scoretwo.fastscript.api.plugin.ScriptPlugin
4-
import me.scoretwo.fastscript.script.ScriptManager
5-
import me.scoretwo.fastscript.commands.CommandManager
5+
import me.scoretwo.fastscript.command.ScriptCommandNexus
66
import me.scoretwo.fastscript.config.SettingConfig
7+
import me.scoretwo.fastscript.script.ScriptManager
78
import me.scoretwo.fastscript.utils.Utils
8-
import me.scoretwo.utils.bukkit.configuration.yaml.patchs.getLowerCaseNode
9+
import me.scoretwo.fastscript.utils.sendMessage
10+
import me.scoretwo.utils.plugin.GlobalPlugin
911
import me.scoretwo.utils.sender.GlobalPlayer
10-
import me.scoretwo.utils.sender.GlobalSender
1112
import me.scoretwo.utils.syntaxes.StreamUtils
12-
import net.md_5.bungee.api.ChatColor
1313
import java.io.File
1414

1515
class FastScript(val plugin: ScriptPlugin) {
1616

17+
val commandNexus: ScriptCommandNexus
1718
val scriptManager: ScriptManager
18-
val commandManager: CommandManager
1919

2020
fun setPlaceholder(player: GlobalPlayer, string: String) = plugin.setPlaceholder(player, string)
2121

2222
init {
2323
instance = this
24+
me.scoretwo.fastscript.plugin = plugin
25+
2426
printLogo()
2527

2628
plugin.server.console.sendMessage(FormatHeader.INFO, "Initializing...")
2729

30+
commandNexus = ScriptCommandNexus()
2831
scriptManager = ScriptManager()
29-
commandManager = CommandManager()
3032

3133
if (!plugin.dataFolder.exists()) {
3234
plugin.dataFolder.mkdirs()
@@ -56,7 +58,6 @@ class FastScript(val plugin: ScriptPlugin) {
5658
initLanguageFiles()
5759
initInternalScripts()
5860
scriptManager.loadScripts()
59-
commandManager.initCommands()
6061
}
6162

6263
/**
@@ -100,22 +101,4 @@ class FastScript(val plugin: ScriptPlugin) {
100101
}
101102

102103
}
103-
104-
enum class FormatHeader { INFO, WARN, ERROR, TIPS, HOOKED, DEBUG }
105-
106-
fun GlobalSender.sendMessage(formatHeader: FormatHeader, strings: Array<String>, colorIndex: Boolean = true) {
107-
strings.forEach {
108-
this.sendMessage(formatHeader, it, colorIndex)
109-
}
110-
}
111-
112-
fun GlobalSender.sendMessage(formatHeader: FormatHeader, string: String, colorIndex: Boolean = true) {
113-
if (colorIndex)
114-
this.sendMessage("${SettingConfig.instance.defaultLanguage.getString(SettingConfig.instance.defaultLanguage.getLowerCaseNode("format-header.${formatHeader.name.toLowerCase()}"))}${string}")
115-
else
116-
this.sendMessage(ChatColor.translateAlternateColorCodes('&',"${SettingConfig.instance.defaultLanguage.getString(SettingConfig.instance.defaultLanguage.getLowerCaseNode("format-header.${formatHeader.name.toLowerCase()}"))}${string}"))
117-
}
118-
119-
fun String.setPlaceholder(player: GlobalPlayer): String {
120-
return FastScript.instance.setPlaceholder(player, this)
121-
}
104+
lateinit var plugin: GlobalPlugin

common/src/main/kotlin/me/scoretwo/fastscript/api/config/SettingConfig.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package me.scoretwo.fastscript.config
22

33
import me.scoretwo.fastscript.FastScript
4+
import me.scoretwo.fastscript.plugin
45
import me.scoretwo.fastscript.script.options.ScriptOption
56
import me.scoretwo.fastscript.utils.Utils
67
import me.scoretwo.utils.bukkit.configuration.yaml.patchs.getLowerCaseNode
8+
import me.scoretwo.utils.syntaxes.StreamUtils
79
import java.io.File
810

911
class SettingConfig(file: File): Config(file) {
@@ -23,17 +25,17 @@ class SettingConfig(file: File): Config(file) {
2325
FastScript.instance.initLanguageFiles()
2426
defaultScriptOption = ScriptOption.fromConfig(getConfigurationSection(getLowerCaseNode("default-script-options"))!!)
2527
defaultLanguage = MessageConfig(File(
26-
"${FastScript.instance.dataFolder}/languages",
28+
"${plugin.dataFolder}/languages",
2729
"${getString(getLowerCaseNode("options.language"))}.yml"))
2830
}
2931

3032
companion object {
3133
lateinit var instance: SettingConfig
3234

3335
fun init() {
34-
val file = File(FastScript.instance.dataFolder, "settings.yml")
36+
val file = File(plugin.dataFolder, "settings.yml")
3537

36-
Utils.saveDefaultResource(file, FastScript.instance.getResource("settings.yml")!!)
38+
Utils.saveDefaultResource(file, StreamUtils.getResource("settings.yml")!!)
3739

3840
SettingConfig(file)
3941
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
package me.scoretwo.fastscript.api.format
2+
3+
enum class FormatHeader { INFO, WARN, ERROR, TIPS, HOOKED, DEBUG }
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package me.scoretwo.fastscript.api.script
2+
3+
import java.io.File
4+
5+
abstract class AbstractScript(val description: ScriptDescription, val textScripts: MutableList<String> = mutableListOf("")) {
6+
7+
8+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package me.scoretwo.fastscript.api.script
2+
3+
import java.io.File
4+
5+
open class FileScript(description: ScriptDescription, val files: MutableList<File>): AbstractScript(description) {
6+
7+
init {
8+
reload()
9+
}
10+
11+
open fun reload() = files.forEachIndexed { i, file -> textScripts[i] = file.readText() }
12+
13+
}

common/src/main/kotlin/me/scoretwo/fastscript/api/script/Script.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
package me.scoretwo.fastscript.api.script
22

33
import me.scoretwo.fastscript.FastScript
4-
import me.scoretwo.fastscript.FormatHeader
4+
import me.scoretwo.fastscript.api.format.FormatHeader
55
import me.scoretwo.fastscript.script.options.ScriptOption
66
import me.scoretwo.fastscript.script.options.imports.ScriptImportType.*
77
import me.scoretwo.fastscript.config.SettingConfig
8-
import me.scoretwo.fastscript.sendMessage
98
import me.scoretwo.fastscript.utils.Utils
109
import java.io.File
1110
import java.io.FileInputStream
@@ -95,7 +94,7 @@ abstract class Script {
9594
)
9695
}
9796
else -> {
98-
FastScript.console.sendMessage(FormatHeader.ERROR,"脚本 §c$name §7元素 §c${it.name} §7导入失败, 无法识别该元素的形式.")
97+
plugin.server.console.sendMessage(FormatHeader.ERROR,"脚本 §c$name §7元素 §c${it.name} §7导入失败, 无法识别该元素的形式.")
9998
}
10099
}
101100
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package me.scoretwo.fastscript.api.script
2+
3+
interface ScriptDescription {
4+
5+
val name: String
6+
// function name
7+
val main: String
8+
9+
val version: String?
10+
val description: String?
11+
12+
val authors: Array<String>
13+
14+
companion object {
15+
fun parseDescription(
16+
name: String,
17+
main: String,
18+
version: String? = null,
19+
description: String? = null,
20+
vararg authors: String = arrayOf()
21+
) = object : ScriptDescription {
22+
override val name: String = name
23+
override val main: String = main
24+
override val version: String? = version
25+
override val description: String? = description
26+
override val authors: Array<String> = arrayOf(*authors)
27+
28+
}
29+
}
30+
}

common/src/main/kotlin/me/scoretwo/fastscript/api/utils/Assist.kt

Lines changed: 0 additions & 13 deletions
This file was deleted.

common/src/main/kotlin/me/scoretwo/fastscript/api/utils/Utils.kt

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
package me.scoretwo.fastscript.utils
22

33
import me.scoretwo.fastscript.FastScript
4-
import me.scoretwo.fastscript.FormatHeader
4+
import me.scoretwo.fastscript.api.format.FormatHeader
55
import me.scoretwo.fastscript.api.script.Script
6-
import me.scoretwo.fastscript.sendMessage
6+
import me.scoretwo.fastscript.config.SettingConfig
7+
import me.scoretwo.fastscript.plugin
8+
import me.scoretwo.utils.bukkit.configuration.yaml.patchs.getLowerCaseNode
9+
import me.scoretwo.utils.sender.GlobalPlayer
10+
import me.scoretwo.utils.sender.GlobalSender
711
import me.scoretwo.utils.syntaxes.FileUtils
12+
import net.md_5.bungee.api.ChatColor
813
import java.io.File
914
import java.io.InputStream
10-
import java.lang.reflect.InvocationTargetException
1115
import java.lang.reflect.Method
1216

1317
object Utils {
@@ -22,8 +26,8 @@ object Utils {
2226
Class.forName(target)
2327
} catch (e: ClassNotFoundException) {
2428
e.printStackTrace()
25-
FastScript.console.sendMessage(FormatHeader.ERROR, "脚本 §c${script.name} §7没有找到类 §c${target}§7, 错误如下:")
26-
FastScript.console.sendMessage("§7${e.message}")
29+
plugin.server.console.sendMessage(FormatHeader.ERROR, "脚本 §c${script.name} §7没有找到类 §c${target}§7, 错误如下:")
30+
plugin.server.console.sendMessage("§7${e.message}")
2731
null
2832
}
2933
}
@@ -35,8 +39,8 @@ object Utils {
3539
constructor.newInstance(args)
3640
} catch (e: Exception) {
3741
e.printStackTrace()
38-
FastScript.console.sendMessage(FormatHeader.ERROR, "脚本 §c${script.name} §7执行初始化时发生错误, 错误如下:")
39-
FastScript.console.sendMessage("§7${e.message}")
42+
plugin.server.console.sendMessage(FormatHeader.ERROR, "脚本 §c${script.name} §7执行初始化时发生错误, 错误如下:")
43+
plugin.server.console.sendMessage("§7${e.message}")
4044
null
4145
}
4246
}
@@ -84,8 +88,8 @@ object Utils {
8488
return method.invoke(obj, args)
8589
} catch (e: Exception) {
8690
e.printStackTrace()
87-
FastScript.console.sendMessage(FormatHeader.ERROR, "脚本 §c${script.name} §7访问方法 §c${method.name} §7时发生错误, 错误如下:")
88-
FastScript.console.sendMessage("§7${e.message}")
91+
plugin.server.console.sendMessage(FormatHeader.ERROR, "脚本 §c${script.name} §7访问方法 §c${method.name} §7时发生错误, 错误如下:")
92+
plugin.server.console.sendMessage("§7${e.message}")
8993
}
9094
return null
9195
}
@@ -103,4 +107,24 @@ object Utils {
103107
FileUtils.save(target, inputStream)
104108
}
105109

110+
}
111+
112+
fun GlobalSender.sendMessage(formatHeader: FormatHeader, strings: Array<String>, colorIndex: Boolean = true) {
113+
strings.forEach {
114+
this.sendMessage(formatHeader, it, colorIndex)
115+
}
116+
}
117+
118+
fun GlobalSender.sendMessage(formatHeader: FormatHeader, string: String, colorIndex: Boolean = true) {
119+
if (colorIndex)
120+
this.sendMessage("${SettingConfig.instance.defaultLanguage.getString(SettingConfig.instance.defaultLanguage.getLowerCaseNode("format-header.${formatHeader.name.toLowerCase()}"))}${string}")
121+
else
122+
this.sendMessage(
123+
ChatColor.translateAlternateColorCodes('&',"${
124+
SettingConfig.instance.defaultLanguage.getString(
125+
SettingConfig.instance.defaultLanguage.getLowerCaseNode("format-header.${formatHeader.name.toLowerCase()}"))}${string}"))
126+
}
127+
128+
fun String.setPlaceholder(player: GlobalPlayer): String {
129+
return FastScript.instance.setPlaceholder(player, this)
106130
}

0 commit comments

Comments
 (0)