11package me.scoretwo.fastscript
22
3+ import com.andreapivetta.kolor.*
34import me.scoretwo.fastscript.api.plugin.FastScriptMain
45import me.scoretwo.fastscript.api.script.ScriptManager
56import java.io.File
@@ -16,10 +17,103 @@ class FastScript(val dataFolder: File, private val classLoader: ClassLoader) {
1617 initInternalScripts()
1718 }
1819
20+ /* *
21+ * 该创意来源于 TrMenu
22+ * @author Arasple
23+ */
24+
25+ fun printLogo () = mutableListOf (
26+ " ___________ __ _________ .__ __ " ,
27+ " \\ _ _____/____ _______/ |_/ _____/ ___________|__|______/ |_ " ,
28+ " | __) \\ __ \\ / ___/\\ __\\ _____ \\ _/ ___\\ _ __ \\ \\ ____ \\ __\\ " ,
29+ " | \\ / __ \\ _\\ ___ \\ | | / \\ \\ ___| | \\ / | |_> > | " ,
30+ " \\ ___ / (____ /____ > |__|/_______ /\\ ___ >__| |__| __/|__| " ,
31+ " \\ / \\ / \\ / \\ / \\ / |__| "
32+ ).let {
33+ it.forEachIndexed { index, raw ->
34+ if (raw.isNotBlank()) {
35+ val line = raw.toCharArray()
36+ val width = (2 .. 8 ).random()
37+ var randomIndex: Int
38+ do {
39+ randomIndex = (2 .. line.size - width).random()
40+ } while (String (line.copyOfRange(randomIndex, randomIndex + width)).isBlank())
41+ val replace = String (line.copyOfRange(randomIndex, randomIndex + width))
42+ it[index] = String (line).replaceFirst(replace, " §${arrayOf(' 9' , ' b' , ' 3' ).random()}$replace §8" )
43+ }
44+ }
45+ printColors(it)
46+ }
47+
1948 companion object {
20- var instance: FastScript ? = null
49+ lateinit var instance: FastScript
2150 lateinit var main: FastScriptMain
2251
52+ @JvmStatic
53+ fun main (args : Array <out String >) {
54+
55+ main = object : FastScriptMain {
56+ override fun getDataFolder (): File {
57+ return File (" FastScript" )
58+ }
59+
60+ override fun getPluginClassLoader (): ClassLoader {
61+ return javaClass.classLoader
62+ }
63+
64+ override fun setPlaceholder (player : Any , string : String ): String {
65+ return string
66+ }
67+
68+ override fun onReload () {}
69+
70+ override fun sendConsoleMessage (message : String ) {
71+ println (message.yellow())
72+ }
73+
74+ override fun sendMessage (sender : Any , string : String ) {
75+ println (string.yellow())
76+ }
77+ }
78+
79+ instance = FastScript (main.getDataFolder(), main.getPluginClassLoader())
80+
81+ instance.printLogo()
82+ }
83+
84+ fun printColors (list : MutableList <String >) {
85+ list.forEach { printColors(it) }
86+ }
87+
88+ fun printColors (string : String ) {
89+ for (s in string.split(" §" )) {
90+ if (s.isEmpty()) continue
91+ val index = s.substring(0 ,1 )
92+ val rawMessage = s.substring(1 )
93+
94+ when (index) {
95+ " a" -> print (rawMessage.lightGreen())
96+ " b" -> print (rawMessage.lightCyan())
97+ " c" -> print (rawMessage.lightRed())
98+ " d" -> print (rawMessage.lightMagenta())
99+ " e" -> print (rawMessage.lightYellow())
100+ " f" -> print (rawMessage.lightWhite())
101+ " 0" -> print (rawMessage.black())
102+ " 1" -> print (rawMessage.blue())
103+ " 2" -> print (rawMessage.green())
104+ " 3" -> print (rawMessage.cyan())
105+ " 4" -> print (rawMessage.red())
106+ " 5" -> print (rawMessage.magenta())
107+ " 6" -> print (rawMessage.yellow())
108+ " 7" -> print (rawMessage.lightGray())
109+ " 8" -> print (rawMessage.lightGray())
110+ " 9" -> print (rawMessage.lightBlue())
111+ else -> print (rawMessage.lightGray())
112+ }
113+ }
114+ println ()
115+ }
116+
23117 fun setBootstrap (main : FastScriptMain ) {
24118 if (instance != null ) {
25119 throw UnsupportedOperationException (" Cannot redefine instance" )
0 commit comments