【マインクラフト（統合版）】Websocketサーバーを使って「不動の杖」の構成アイテムを作ってみました

# はじめに

ここでは「不動の杖」レシピの構成要素となっている以下のアイテムをご紹介します。

▼不動の魔石（customize:immovable_stone）![不動の魔石](https://socket-manager.github.io/document/minecraft-contents/img/immovable-rod-components/immovable-stone.png "不動の魔石")

▼浮遊の羽（customize:floating_feather）
![浮遊の羽](https://socket-manager.github.io/document/minecraft-contents/img/immovable-rod-components/floating-feather.png "浮遊の羽")

今回のアイテムは「不動の杖」のレシピアイテムとして度々登場させていましたが、旨みが何もないのはもったいないと思ったので、後付け感はありますが実装してみました。


# 「不動の魔石」の使い方

メインハンドに持った状態で右クリックするとどこでも座る事ができます。

階段ブロックはもちろん座れます。
![【不動の魔石の使い方】階段ブロック](https://socket-manager.github.io/document/minecraft-contents/img/immovable-rod-components/stairs-block.gif "【不動の魔石の使い方】階段ブロック")

板ガラスでも座れます。
![【不動の魔石の使い方】板ガラス](https://socket-manager.github.io/document/minecraft-contents/img/immovable-rod-components/plate-glass.png "【不動の魔石の使い方】板ガラス")

木の上でも座れます。
![【不動の魔石の使い方】木の上](https://socket-manager.github.io/document/minecraft-contents/img/immovable-rod-components/wood.png "【不動の魔石の使い方】木の上")

地面の中でも座れます。
![【不動の魔石の使い方】地面の中](https://socket-manager.github.io/document/minecraft-contents/img/immovable-rod-components/ground.png "【不動の魔石の使い方】地面の中")


# 「浮遊の羽」の使い方

メインハンドに持った状態で右クリックすると少しの間、宙に浮く事ができます。

１回の使用ではこんな感じになります。
![【浮遊の羽の使い方】１回きり](https://socket-manager.github.io/document/minecraft-contents/img/immovable-rod-components/floating-feather.gif "【浮遊の羽の使い方】１回きり")

効果が切れる前に連続で使用すると、延々と高く浮遊する事ができます。
![【浮遊の羽の使い方】連続使用](https://socket-manager.github.io/document/minecraft-contents/img/immovable-rod-components/floating-feather-higher.gif "【浮遊の羽の使い方】連続使用")

浮遊中に移動する事もできます。
![【浮遊の羽の使い方】浮遊中の移動](https://socket-manager.github.io/document/minecraft-contents/img/immovable-rod-components/floating-feather-moving.gif "【浮遊の羽の使い方】浮遊中の移動")


# 「不動の魔石」の取得

ゲーム内では釣りで取得する事ができます。

以下はワールドオーナーやシステム組み込み用としてコマンドで取得する方法です。
<img src="https://socket-manager.github.io/document/minecraft-contents/img/immovable-rod-components/command-immovable-stone.png" height="600px" width="728px" />
<img src="https://socket-manager.github.io/document/minecraft-contents/img/immovable-rod-components/get-immovable-stone.png" height="600px" width="728px" />


# 「浮遊の羽」の取得

ゲーム内では釣り、鶏のドロップ品として取得する事ができます。

以下はワールドオーナーやシステム組み込み用としてコマンドで取得する方法です。
<img src="https://socket-manager.github.io/document/minecraft-contents/img/immovable-rod-components/command-floating-feather.png" height="600px" width="728px" />
<img src="https://socket-manager.github.io/document/minecraft-contents/img/immovable-rod-components/get-floating-feather.png" height="600px" width="728px" />


# サーバー側の実装

### 右クリック時の処理

今まで実装したアイテムと同様に今回の実装でも"ItemUsed"というサブスクライブイベントを使用しています。
サブスクライブイベントの処理内容については以下の記事をご覧ください。

https://socket-manager.github.io/document/extra-minecraft

「不動の魔石」の処理は、以下のページでご紹介させて頂いた「階段チェア」の時と同じように、搭乗可能なダミーエンティティを召喚してからプレイヤーを搭乗させています。

https://qiita.com/glasses_seven/items/876eb47c3e38828428e4/

「浮遊の羽」の方は`levitation`（浮遊）のエフェクトコマンドを呼んでいるだけです。

実装内容の詳細は他のコンテンツも含めて以下のページでご紹介していますのでご興味のある方はご覧ください。

https://socket-manager.github.io/document/minecraft-contents/immovable-rod-components


# おわりに

「不動の杖」については以下の記事でご紹介しています。

https://qiita.com/glasses_seven/items/cd55c6bd721a9ced1f06/

カスタムレシピの作り方は以下の記事でまとめています。

https://qiita.com/glasses_seven/items/6865c9c3ae5d756a2989

カスタムアイテムの作り方は以下のページでご紹介しています。

https://qiita.com/glasses_seven/items/b41797e3df3325c3fab5/

https://qiita.com/glasses_seven/items/633a9c4a3ad9c4b13d21/

https://qiita.com/glasses_seven/items/93ffdf68edb5e1f806bc/

https://qiita.com/glasses_seven/items/8d87b5f6b8ccea706dce/

釣りアイテムの登録の方法は以下の記事でまとめています。

https://qiita.com/glasses_seven/items/5af11b4a4766af93ea37