11package me.scoretwo.fastscript.bukkit
22
3+ import me.scoretwo.fastscript.FastScript
34import me.scoretwo.fastscript.api.plugin.FastScriptMain
5+ import me.scoretwo.fastscript.bukkit.hooks.PlaceholderAPIHook
6+ import net.md_5.bungee.api.ChatColor
7+ import org.bukkit.Bukkit
8+ import org.bukkit.command.Command
9+ import org.bukkit.command.CommandMap
10+ import org.bukkit.command.CommandSender
11+ import org.bukkit.command.SimpleCommandMap
12+ import org.bukkit.entity.Player
413import org.bukkit.plugin.java.JavaPlugin
514
615class BukkitSection : JavaPlugin (), FastScriptMain {
716
17+ override fun onLoad () {
18+ FastScript .setBootstrap(this )
19+ }
20+
821 override fun onEnable () {
22+ FastScript .instance?.onReload()
923
24+ commandMap.register(description.name, object : Command (description.name, " " , " /" + description.name, listOf (" script" ," bukkitScript" )) {
25+ override fun execute (sender : CommandSender , label : String , args : Array <out String >): Boolean {
26+ return true
27+ }
28+ })
1029 }
1130
1231 override fun getPluginClassLoader (): ClassLoader {
1332 return super .getClassLoader()
1433 }
34+
35+ override fun setPlaceholder (player : Any , string : String ): String {
36+ var text: String = string
37+ if (PAPIHook != null ) {
38+ text = PlaceholderAPIHook .setPlaceholder(player as ? Player , string)
39+ }
40+
41+ return text
42+ }
43+
44+ override fun sendConsoleMessage (message : String ) = Bukkit .getConsoleSender().sendMessage(ChatColor .translateAlternateColorCodes(' &' , message))
45+
46+ override fun sendMessage (sender : Any , string : String ) {
47+ (sender as ? CommandSender )?.sendMessage(string)
48+ }
49+
50+ override fun onReload () {
51+ if (PAPIHook == null ) {
52+ if (Bukkit .getPluginManager().isPluginEnabled(" PlaceholderAPI" )) {
53+ PAPIHook = PlaceholderAPIHook (this )
54+ sendConsoleMessage(" &7[&2Fast&aScript&7] &6HOOKED &8| &2成功挂钩 PlaceholderAPI!" )
55+ }
56+ }
57+ }
58+
59+ companion object {
60+ private var PAPIHook : PlaceholderAPIHook ? = null
61+
62+ val commandMap: CommandMap = Bukkit .getServer().javaClass.getDeclaredMethod(" getCommandMap" ).invoke(Bukkit .getServer()) as SimpleCommandMap
63+ }
64+
1565}
0 commit comments