spigotプラグイン講座3-2(全体メッセージを送信しよう)

どうも! プラグインティーチャー、Mr_IKです!
初心者向けマイクラspigotプラグイン講座、第三回(2限目)始めます!

前回、コマンドの実装とプレイヤーにメッセージを送信するプラグインを作りましたね。
今回はその続きからです。

第三回すべてのメニュー

  • コマンドを打ったらメッセージを送信 done
  • コマンドを打ったら全体にメッセージを送信 ←今回はこれ
  • OP以外のブロックの破壊をすべてキャンセル
  • パスワードを入力したらOPになれるコマンド
  • [おまけ]経済との連携

コマンドを打ったら全体メッセージを送信

今回はまあまあ使えるかもしれないプラグインを作っていきますよー!
前回のプロジェクトを開き、
“p.sendMessage();”を削除してください。

では、行きましょうか!

今回は /test 内容 で全体メッセージができるプラグインを作るのを目標に行こうと思います

ですが、コマンドといっても /test だけ打たれても困るし、 /test a a a と打たれても分割しちゃって困ります。

ですので、その対策とカラーコードについて教えていきます。

/test のみ 対策は簡単です。
“if文”を使います。 前回の中級者向け解説にも出てきましたが
if文とは早い話分岐です。
もし○○が▼▼なら など沢山の条件を作れます
今回は args、つまり /test 1 2 …
の1,2… の部分がない場合を省略するので次の文になります。

if(args.length == 0){
return true;
}

argsの長さを取得し、それが0なら中の処理に入らせるという文です。
その文の処理はreturn true; つまり処理を終わらせるコードです。

さあ、次の障害は何と言っても /test a a a でしょう。
これはちょっと上級者向けです。
“for文”を使います。forとは早い話繰り返しです。
○○が▼▼の間、もしくは○○の中身を総回しする時などに使います。 今回は後者ですね
argsの中身、つまり a,a,a… などを連結させるコードがこちらです。

String message = null;
for(String s:args){
if(message == null) {
message = s;
continue;
}
message = message +” “+s;
}

これで、”message”という変数に連結したメッセージが入りました。

最後に簡単なおまけを付けましょうか。

“カラーコード”です。 簡単に言えば色付きの文字です。

&4&lああああ で
赤色太文字のああああ
になるようにできるコードがこちらです。

message = ChatColor.translateAlternateColorCodes(‘&’,message);

たったのこれだけを追加でカラーコードが使えます。

さあ、最後の仕上げです。

全体メッセージのコードはこちらです。

Bukkit.broadcastMessage(message);

赤い文字になったらALT+ENTERでインポートです。

最終的なコード:

https://gyazo.com/f6796352f81aad7713ff03071c5d9272

一画面じゃ収まらなくなりましたが、onCommandが合ってればそれでおkです!

そうしたらビルドしましょう!

その後できたjarを前回のjarと差し替えて…

/test &d&lM&f&la&a&ln&f&l10 server!! と打つと…?

https://gyazo.com/7e146028c7873d34f3e09cd6c990fbc8

できましたね!
『でもこれ、そのプレイヤーにしか見えてないんじゃない?』とお思いのあなた、黒い画面を見てください。
https://gyazo.com/1f8eab17e62fbeb2a566f4b4c6bd35b1

ね?出てるでしょ?

次回は、OP以外のブロックの破壊をキャンセルするプラグイン作成です!
乞うご期待!

コメントする