猿でもできるマイクラ開発-コマンド編

2019年5月24日

1: はじめに

どうも。GoogleのAdsense審査が通ってウキウキのIKです。
今回は前回の 猿でもできるマイクラ開発-ハローワールド編 の続きとなります。
まだ見てない方はぜひ見てください。

2: コマンドとは

マイクラ内で実行できる、/help や/kill などのコマンドです。
プラグインを使えばなんとコマンドを自作できちゃうんですねー。
今回は/monkey と実行すると ウホウホ と表示されるプラグインを
作っていこうと思います。

3: コマンドの実装方法

では、IntelliJを開こう。
設定をいじっていないなら、

こんな感じで、前回のHelloworld-spigotのプロジェクトが
開いてあると思う。今回もそのプロジェクトに追加する形で作っていく。

今回のコマンドは /monkey だ。
今回は変更しなければいけないファイルが2つある。

  • plugin.yml
  • HelloWorld.java

まずはplugin.ymlからだ。
このファイルは何かというと、プラグインの情報を確認するためのものだ。
このコマンドを実装してるよ!などなど。
プラグインがある程度自動生成してくれているので、
今回はコマンドの情報を追加するのみでOK!

plugin.ymlの場所だが、この画像のところにある。

src/main/resources/plugin.yml だ。
これをクリックすると、こんな感じの画面になるはずだ。

今回は4行目から追加する形で書いていく。
plugin.ymlの書き方にはルールがあり、
間違えるとプラグインが起動しないので慎重にやっていこう。
下のコードをコピーし、そのまま貼り付けてほしい。

commands:
  monkey:
    description: HelloWorld
    usage: /<command>
    default: op

順に説明する。

commands:
これはおまじないみたいなもの。
ここから下に書くやつはコマンドですよー的な。

monkey:
追加するコマンド名。今回は/monkeyなのでmonkey。

description: HelloWorld
コマンドの説明。今回はHelloWorld。

usage: /<command>
コマンドの使い方。 今回は/monkey を意味する /<command>。

default: op
コマンドをどの権限が最初から使えるか。今回はOP。

といった感じだ。
追加ができたら、こんな感じになっているはずだ。

こうなっていたら、このplugin.ymlは閉じていい。
上の画像の、plugin.yml × のバツマークを押せば消える。

消せば、HelloWorld.javaが表示されるはずだ。
そうしたら、次はコマンドの実装とその内容だ。

前回から何もいじってないなら、8行目周辺を見てほしい。

こうなっているはずだ。
この getLogger()・・・ の次の行を空白にして、
その行に下のコードを追加してほしい。

getCommand("monkey").setExecutor(this);

うまくいけば、こうなっているはずだ。

説明タイム!

getCommand(“monkey")
monkeyコマンドの情報を取得するコードだ。

.setExecutor(this);
コマンドを実行されたときの処理をどこで行うかだ。
今回はthis = HelloWorld.javaで行うと宣言している。

「え?まだ処理書いてないよ?」と思ったそこの君。賢いね。
今から処理を書いていくよ。

今回の書く場所は特殊だ。画像を参考にやってほしい。
まず、6行目で2回改行をしてほしい。
うまくやっていればこうなっているはずだ。

できたら、7行目に以下のコードを貼り付けてほしい。

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        return true;
    }

おそらく、こんな感じでエラーが出るはずだ。

これは、importという、
このクラスを使いますよーという宣言が足りていないからだ。

importは、
3行目と5行目の間に、追加していく…のがベターだが、
もっと楽な方法がある。
IntelliJの機能、自動インポートだ。
エラーが出ているところにカーソルを合わせて、
Alt+Enterを押し、import class をクリックしてみよう。
下の映像を見ながらだとわかりやすい。

同様に、Commandもやれば、エラーはなくなると思う。

こうなっていれば成功だ。
次はいよいよ実行したときの処理だ。
10行目と11行目の間に、このコードを挟んでほしい。

sender.sendMessage("ウホウホ!");

うまくやっていれば、こうなっているはず。

説明!

sender
実行した人のデータが入っている。

.sendMessage(“ウホウホ!");
メッセージを送信する。今回は内容をウホウホ!にした。
前にsenderがついているため、実行した人に
ウホウホ!というメッセージが流れるコードになっている。

これでコマンドの実装は終わりだ。
前回と同じように右上の▶ボタンでビルドし、
サーバーに入れて再起動してみよう。

サーバーが立ってっぱなしだよ!って人は
黒い画面から、stopでサーバーを止めてから追加しよう。

サーバーに入れて、起動した後、自分のマイクラで入って
こんな感じの表示が出れば成功です!

4: 終わりに

お疲れさまー!自分なりに改造してみてもいいよ!
次回をお楽しみに!

前: 猿でもできるマイクラ開発-ハローワールド編
次: 猿でもできるマイクラ開発-Java攻略編①