Densyakunのブログ

Qiitaもやってます: https://qiita.com/Densyakun

【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 + "(゚∀゚)アヒャ")

でサーバーのコンソールに色付きのメッセージを送ることができます。

 

記事一覧に戻る