Skip to content

Commit 24134d0

Browse files
committed
Fixed command bugs.
1 parent 17009f5 commit 24134d0

File tree

10 files changed

+44
-20
lines changed

10 files changed

+44
-20
lines changed

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ plugins {
88
}
99

1010
group = "me.scoretwo"
11-
version = "1.0.3-SNAPSHOT"
11+
version = "1.0.4-SNAPSHOT"
1212
description = "FastScript is a Spigot plugin, which can run JavaScript-based scripts more efficiently."
1313

1414
defaultTasks = mutableListOf("ShadowJar", "publishToMavenLocal")

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

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,11 @@ class FastScript(val plugin: ScriptPlugin) {
125125
fun reload(vararg modes: String) {
126126
if (!plugin.dataFolder.exists()) {
127127
plugin.dataFolder.mkdirs()
128+
}
129+
try {
130+
commandNexus.register()
131+
} catch (t: Throwable) {
132+
128133
}
129134
modes.forEach {mode ->
130135
when (mode) {
@@ -139,9 +144,9 @@ class FastScript(val plugin: ScriptPlugin) {
139144
if (::commandNexus.isInitialized) {
140145
commandNexus = FSCommandNexus()
141146
}
142-
commandNexus.findSubCommand("script")?.also { (it as ScriptCommand).reload() }
147+
plugin.server.dispatchCommand(plugin.server.console, "fs script :reload")
143148
}
144-
"plugin" ->{
149+
"plugin" -> {
145150
plugin.reload()
146151
}
147152
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import me.scoretwo.fastscript.api.script.temp.TempScript
88
import me.scoretwo.fastscript.api.utils.ExecType
99
import me.scoretwo.fastscript.api.utils.process.ProcessResult
1010
import me.scoretwo.fastscript.api.utils.process.ProcessResultType
11+
import me.scoretwo.fastscript.command.commands.ScriptCommand
1112
import me.scoretwo.utils.bukkit.configuration.yaml.ConfigurationSection
1213
import me.scoretwo.utils.bukkit.configuration.yaml.patchs.getLowerCaseNode
1314
import me.scoretwo.utils.sender.GlobalSender

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ class MavenArtifact {
6161
try {
6262
val url = toURL(repository)
6363
val folder = File(plugin.dataFolder, "lib")
64-
val file = File(folder, url.substringAfterLast("/"))
64+
val file = File(folder, "$artifactId-$version.jar")
6565
if (file.exists()) {
6666
return ProcessResult(ProcessResultType.OTHER, "exists")
6767
}

common/src/main/kotlin/me/scoretwo/fastscript/command/commands/ScriptCommand.kt

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,15 @@ import me.scoretwo.fastscript.command.SimpleCommand
77
import me.scoretwo.fastscript.languages
88
import me.scoretwo.fastscript.sendMessage
99
import me.scoretwo.fastscript.setPlaceholder
10+
import me.scoretwo.utils.command.SubCommand
1011
import me.scoretwo.utils.command.executor.CommandExecutor
1112
import me.scoretwo.utils.command.executor.Executors
13+
import me.scoretwo.utils.sender.GlobalPlayer
1214
import me.scoretwo.utils.sender.GlobalSender
1315
import net.md_5.bungee.api.chat.ClickEvent
1416
import net.md_5.bungee.api.chat.HoverEvent
1517
import net.md_5.bungee.api.chat.TextComponent
1618
import net.md_5.bungee.api.chat.hover.content.Text
17-
import org.jetbrains.kotlin.util.capitalizeDecapitalize.capitalizeFirstWord
1819

1920
/**
2021
* @author Score2
@@ -26,6 +27,10 @@ class ScriptCommand: SimpleCommand(arrayOf("script")) {
2627

2728
override var description = languages["COMMAND-NEXUS.COMMANDS.SCRIPT.DESCRIPTION"]
2829

30+
init {
31+
instance = this
32+
}
33+
2934
private val runCommand = nextBuilder()
3035
.alias("execute", "run")
3136
.description(languages["COMMAND-NEXUS.COMMANDS.SCRIPT.EXECUTE.DESCRIPTION"])
@@ -40,12 +45,12 @@ class ScriptCommand: SimpleCommand(arrayOf("script")) {
4045
return true
4146
}
4247
if (args.isEmpty()) {
43-
sender.sendMessage(FormatHeader.ERROR, "${languages["SUBSTANTIVE.USAGE"].capitalizeFirstWord()}: /${parents.joinToString(" ")} §f<${script.texts.keys.joinToString("/")}> §7<${script.option.main}> <args...> §8:s")
48+
sender.sendMessage(FormatHeader.ERROR, "${languages["SUBSTANTIVE.USAGE"]}: /${parents.joinToString(" ")} §f<${script.texts.keys.joinToString("/")}> §7<${script.option.main}> <args...> §8:s")
4449
return true
4550
}
4651
val sign = args[0]
4752
if (!script.texts.keys.contains(sign)) {
48-
sender.sendMessage(FormatHeader.ERROR, "${languages["SUBSTANTIVE.USAGE"].capitalizeFirstWord()}: /${parents.joinToString(" ")} §f<${script.texts.keys.joinToString("/")}> §7<${script.option.main}> <args...> §8:s")
53+
sender.sendMessage(FormatHeader.ERROR, "${languages["SUBSTANTIVE.USAGE"]}: /${parents.joinToString(" ")} §f<${script.texts.keys.joinToString("/")}> §7<${script.option.main}> <args...> §8:s")
4954
return true
5055
}
5156

@@ -105,12 +110,12 @@ class ScriptCommand: SimpleCommand(arrayOf("script")) {
105110
return true
106111
}
107112
if (args.isEmpty()) {
108-
sender.sendMessage(FormatHeader.ERROR, "${languages["SUBSTANTIVE.USAGE"].capitalizeFirstWord()}: /${parents.joinToString(" ")} §f<${script.texts.keys.joinToString("/")}> §7<args> §8:s")
113+
sender.sendMessage(FormatHeader.ERROR, "${languages["SUBSTANTIVE.USAGE"]}: /${parents.joinToString(" ")} §f<${script.texts.keys.joinToString("/")}> §7<args> §8:s")
109114
return true
110115
}
111116
val sign = args[0]
112117
if (!script.texts.keys.contains(sign)) {
113-
sender.sendMessage(FormatHeader.ERROR, "${languages["SUBSTANTIVE.USAGE"].capitalizeFirstWord()}: /${parents.joinToString(" ")} §f<${script.texts.keys.joinToString("/")}>")
118+
sender.sendMessage(FormatHeader.ERROR, "${languages["SUBSTANTIVE.USAGE"]}: /${parents.joinToString(" ")} §f<${script.texts.keys.joinToString("/")}>")
114119
return true
115120
}
116121
val args0: Array<String> = when {
@@ -207,11 +212,27 @@ class ScriptCommand: SimpleCommand(arrayOf("script")) {
207212
})
208213
.build()
209214

215+
override fun execute(sender: GlobalSender, parents: Array<String>, args: Array<String>): Boolean {
216+
if (sender !is GlobalPlayer && args.isNotEmpty()) {
217+
when (args[0].toLowerCase()) {
218+
":reload" -> {
219+
reload()
220+
}
221+
":clear" -> {
222+
subCommands.clear()
223+
}
224+
}
225+
return true
226+
}
227+
return super.execute(sender, parents, args)
228+
}
229+
230+
@Synchronized
210231
fun reload() {
211232
subCommands.clear()
212233
FastScript.instance.scriptManager.scripts.forEach {
213234
val subCommand = nextBuilder()
214-
.alias(it.value.description.name)
235+
.alias(it.value.name)
215236
.description(languages["COMMAND-NEXUS.COMMANDS.SCRIPT.SUB-SCRIPT-DESCRIPTION"].setPlaceholder(mapOf("script_name" to it.key)))
216237
.execute(object : CommandExecutor {
217238
override fun execute(sender: GlobalSender, parents: Array<String>, args: Array<String>): Boolean {
@@ -227,9 +248,13 @@ class ScriptCommand: SimpleCommand(arrayOf("script")) {
227248
.subCommand(reloadCommand)
228249
.subCommand(infoCommand)
229250
.build()
230-
subCommands.add(subCommand)
251+
register(subCommand)
231252
}
232253
}
233254

255+
companion object {
256+
lateinit var instance: ScriptCommand
257+
258+
}
234259

235260
}

common/src/main/kotlin/me/scoretwo/fastscript/listeners/FileListener.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@ import org.apache.commons.io.monitor.FileAlterationListener
44
import org.apache.commons.io.monitor.FileAlterationMonitor
55
import org.apache.commons.io.monitor.FileAlterationObserver
66
import java.io.File
7+
import java.util.concurrent.TimeUnit
78

89

910
class FileListener: FileAlterationListener {
1011

1112
val monitor: FileAlterationMonitor
1213

13-
constructor(directory: File): this(directory, 100)
14+
constructor(directory: File): this(directory, 20)
1415

1516
constructor(directory: File, interval: Long): this(interval, FileAlterationObserver(directory))
1617

version-control/FastScript-bukkit/src/main/kotlin/me/scoretwo/fastscript/bukkit/BukkitPlugin.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,6 @@ class BukkitPlugin(val plugin: GlobalPlugin): ScriptPlugin(plugin) {
8282

8383
)
8484
}
85-
86-
FastScript.instance.commandNexus.registerBukkitCommands()
8785
}
8886

8987
override fun setPlaceholder(player: GlobalPlayer, string: String): String {

version-control/FastScript-bungee/src/main/kotlin/me/scoretwo/fastscript/bungee/BungeePlugin.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ class BungeePlugin(val plugin: GlobalPlugin): ScriptPlugin(plugin) {
1919

2020
override fun enable() {
2121
FastScript.instance.reload("script", "plugin")
22-
23-
FastScript.instance.commandNexus.registerBungeeCommands()
2422
}
2523

2624
override fun setPlaceholder(player: GlobalPlayer, string: String): String {

version-control/FastScript-sponge/src/main/kotlin/me/scoretwo/fastscript/sponge/SpongePlugin.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ class SpongePlugin(val plugin: GlobalPlugin): ScriptPlugin(plugin) {
2626
override fun enable() {
2727
FastScript.instance.reload("script", "plugin")
2828
PlaceholderAPIHook.initializePlaceholder()
29-
30-
FastScript.instance.commandNexus.registerSpongeCommands()
3129
}
3230

3331
override fun setPlaceholder(player: GlobalPlayer, string: String): String {

version-control/FastScript-velocity/src/main/kotlin/me/scoretwo/fastscript/velocity/VelocityPlugin.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ class VelocityPlugin(val plugin: GlobalPlugin): ScriptPlugin(plugin) {
2222

2323
override fun enable() {
2424
FastScript.instance.reload("script", "plugin")
25-
26-
FastScript.instance.commandNexus.registerVelocityCommands()
2725
}
2826

2927
override fun setPlaceholder(player: GlobalPlayer, string: String): String {

0 commit comments

Comments
 (0)