@@ -7,14 +7,15 @@ import me.scoretwo.fastscript.command.SimpleCommand
77import me.scoretwo.fastscript.languages
88import me.scoretwo.fastscript.sendMessage
99import me.scoretwo.fastscript.setPlaceholder
10+ import me.scoretwo.utils.command.SubCommand
1011import me.scoretwo.utils.command.executor.CommandExecutor
1112import me.scoretwo.utils.command.executor.Executors
13+ import me.scoretwo.utils.sender.GlobalPlayer
1214import me.scoretwo.utils.sender.GlobalSender
1315import net.md_5.bungee.api.chat.ClickEvent
1416import net.md_5.bungee.api.chat.HoverEvent
1517import net.md_5.bungee.api.chat.TextComponent
1618import 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}
0 commit comments