MinecraftConnection 2.1.0 をリリースしました

お久しぶりです。

タイトルにあるように MinecraftConnection のバージョン 2.1.0 をリリースしました!

www.nuget.org

追加要素

新規で追加したものは下記の通りです

  • Teleport() メソッド
  • PlaySound() メソッド
  • Time 列挙体
  • Sound 列挙体

Teleport() メソッド

プレイヤーやモンスターなどのエンティティを指定した座標にテレポートさせます。マイクラで言うところの /tp コマンドですね。

MinecraftConnection command = new MinecraftConnection("127.0.0.1", 25575, "minecraft");
command.Teleport("takunology", 100, 64, 120);

このコード例では座標 100, 64, 120 にプレイヤー takunology をテレポートさせます。
相対座標を使いたい場合は Player クラスの GetPlayerData() から Position プロパティを参照するのがオススメです。

PlaySound() メソッド

マインクラフトの音符ブロックの音を鳴らします。

MinecraftConnection command = new MinecraftConnection("127.0.0.1", 25575, "minecraft");
command.PlaySound(Sound.Harp);

これでハープの音を鳴らすことができます。もっと高い音を出すなら double 型で第二引数に値を入れます。

command.PlaySound(Sound.Harp, 1.5);

Java版の仕様上、2.0 が最大値のようです。

Time 列挙体

これは TimeSet() メソッドで使用するための列挙体です。これまでは数値でないと時間変更できませんでしたが、Day, Noon, Night, Midnight の4種類も選べるようになりました。

command.TimeSet(Time.Day);

Dayは6000の値を持っていますので、そのまま数値として 6000 を入れても同じです。

Sound 列挙体

これは PlaySound() メソッドで使用するための列挙体です。この列挙体には音符ブロックの音しか定義されていませんので、何かMobの効果音やブロックの効果音を出す場合は SendCommand() メソッドを使用して、自力で入力する必要があります。

定義されている音リスト

public enum Sound
{
    Banjo,
    BaseDrum,
    Bass,
    Bell,
    Bit,
    Chime,
    CowBell,
    DidGeridoo,
    Flute,
    Guiter,
    Harp,
    Hat,
    IronXylophone,
    Pling,
    Snare,
    Xylophone
}

なんとなくですが、そろそろ MinecraftConnection の使い方についてのバイブルを作ったほうがいいような気がしてきました。
イクラC#の本はあるのですが、あれは「1から実装しながらC#を学ぼう」がコンセプトなので、自動化に特化した内容ではないです。

もっとマイクラっぽいことしたい人向けにコードレシピ集などを作っても良いかもですね!