【Spigot】Bukkitプラグインの作り方講座 - サーバーの操作とConsoleCommandSender
サーバー
サーバーはJavaPluginのgetServer()
で取得できます。
getServer().addRecipe(Recipe)
でレシピを追加したり、
getServer().banIP("192.168.1.1")
などでIPBANをしたり、
getServer().broadcastMessage("こんにちは")
でサーバー全体にメッセージを送信したり、
getServer().clearRecipes()
でレシピを全削除したりなど、いろいろなことができます。
その他、仮想インベントリの作成、地図の作成、ワールドの作成、各種サーバーの設定、サーバーのシャットダウン、ワールドのアンロードなどができます。
ミニゲームサーバーなどで画面右にScoreboardというものを表示することができるのですが、当方で動作しなかったためここでは紹介しません。
また、バージョンにより実装方法が異なります。
オフラインプレイヤーとオンラインプレイヤー
getServer().getOfflinePlayers()
でオフラインプレイヤー、つまり一度ログインしたプレイヤーの情報が取得できます。
ただし、オフラインプレイヤーのインベントリを操作したり確認することができません。
getServer().getOnlinePlayers()
でオンラインのプレイヤーを取得できます。
プレイヤーは体力やエフェクトを設定したり、インベントリを操作することができます。
getServer().getBannedPlayers()
でBANされているオフラインプレイヤーのリストを取得できます。
getServer().getMaxPlayers()
で最大プレイヤー数を取得できます。
BANリスト
getServer().getBanList(Type.IP)
あるいはgetServer().getIPBans()
でIPBANのリスト、
getServer().getBanList(Type.NAME)
でプレイヤー名でのBANリストを取得できます。
サーバーの情報
getServer().getMotd()
でサーバーの説明を取得できます。
getServer().getName()
で"CraftBukkit"という文字列を取得できます。
getServer().getBukkitVersion()
でBukkitのバージョンを取得できます。
私の環境では"1.12.2-R0.1-SNAPSHOT"という文字列を取得しました。
getServer().getVersion()
で私の環境では"git-Spigot-4bd94dc-1c40a81 (MC: 1.12.2)"という文字列を取得しました。
ConsoleCommandSender
getServer().getConsoleSender()
でConsoleCommandSenderを取得できます。
getServer().getConsoleSender().sendMessage(ChatColor.GOLD + "(゚∀゚)アヒャ")
でサーバーのコンソールに色付きのメッセージを送ることができます。