はじめに
以下のように「スウィープロッド」をメインハンドに持った状態で「ダッシュ+スニーク」操作を実行する事で範囲攻撃が発動します。
射程距離は5ブロックで、発動時に範囲内にいるモブに大ダメージを与えます。
ダメージ付与ポイントは現在15ポイントに設定していますので牛や羊などのモブは一撃で倒せます。
対ハスクの場合は2回の連続攻撃で倒せます。
以下の2回目の攻撃のように空中でも発動します。
動作環境
- プラットフォーム
- Windows10
- マインクラフト(統合版)
- Windows Edition v1.21.2
- socket-manager
- v1.13.3
- 言語
- PHP v8.2.4(v8.1.0以降)
「スウィープロッド」の取得
socket-manager環境のビヘイビアパック/リソースパックなどのアドオンパックを適用しておけば、以下の方法でユニークアイテムとして「スウィープロッド」が手に入ります。
ショップで購入する場合
以下のショップで購入できます。
コマンドで取得する場合
以下はワールドオーナーやシステム組み込み用としてコマンドで取得する方法です。
socket-managerの導入方法やアドオンパックの所在については以下のページでご紹介していますのでご興味のある方はご覧ください。
アドオンパックの適用方法については以下のページでご紹介しています。
サーバー側の実装
今回は二段ジャンプの実装でも使っていた"PlayerTravelled"というサブスクライブイベントを使用しています。
travelMethod
の値(7:スニーク、8:ダッシュ)をみてそのイベントがスニークなのかダッシュなのかを判断できるようになっています。
サブスクライブイベントの処理内容については以下のページでご紹介しています。
注意しないといけないのが、この"PlayerTravelled"はイベントが発生した時に1回だけ発行されるわけではありません。
プレイヤーの移動距離に応じて複数回イベントが発生しています。
実装内容の詳細は他のコンテンツも含めて以下のページでご紹介していますのでご興味のある方はご覧ください。
おわりに
今回の実装で思わぬ副産物がありました。
攻撃発動時に「ダッシュ+スニーク」操作でクリティカルのパーティクルを出しているのですが、以下のようにメインハンドで発動対象のアイテムを持っていなくてもパーティクルが表示されています。
もちろん「スウィープロッド」は持っていないので攻撃は発動していませんが、これはこれでカッコイイのでそのまま残しておきますw
今回の実装は以下の実装でも活用しています。