もしよろしければ、レビュー(評価)をお願いします!
開発の励みになります!
動作例
コマンド
サブコマンド (/mission)
権限
使い方
項目の説明
Mineflowとの連携
レシピによる報酬を作成
Tips
Tips
前提条件
ステップトリガーの種類を追加する
Missionを操作
Progressを操作
詳しくはソースコードを参照してください
※各操作のタイミングは問いません(基本的にはプラグイン有効化タイミングに行うのが望ましい)
開発の励みになります!
動作例
コマンド
コマンド名 | 説明 | 権限 | エイリアス | プレイヤーのみ |
---|---|---|---|---|
mission | ミッション一覧フォームを開く | mission.command.mission | mi | はい |
mission
コマンドでは、引数に名前、ID、短縮IDを指定することができます。 引数を指定しなかった場合と指定したミッションが存在しない場合はリストが送信されます。サブコマンド (/mission)
サブコマンド名 | 説明 | 権限 | エイリアス | プレイヤーのみ |
---|---|---|---|---|
edit | ミッションを編集する | mission.command.mission.edit | なし | はい |
setting | 設定 | mission.command.mission.setting | set, config | はい |
edit
サブコマンドでは、引数に名前、ID、短縮IDを指定することができます。 引数を指定しなかった場合と指定したミッションが存在しない場合はリストが送信されます。権限
権限名 | デフォルト |
---|---|
mission.command.mission | true |
mission.command.mission.edit | op |
mission.command.mission.setting | op |
項目の説明
- 最大達成回数: ミッションを達成できる回数
- 目標ステップ数: 目標のステップ数
- ステップトリガー: ミッションのステップを増やすトリガー
- ブロックを10回壊したら達成
- 報酬はダイヤモンド10個
- 1回まで達成できる
- /mission edit コマンドを実行
- 「ミッション追加」を選択
- 「最大達成回数」に1を、「目標ステップ数」に10を入力
- 作成したミッションを選択
- 「報酬の編集」を選択
- 「報酬追加」を選択
- 「報酬の種類」に「アイテム報酬」を指定
- 「id」に264(ダイヤモンドのID)を、「個数」に10を入力
- 「ステップトリガー編集」を選択
- 「ステップトリガー追加」を選択
- 「ステップトリガーの種類」に「イベント」を指定
- 「イベント」に「BlockBreakEvent」を指定
Mineflowとの連携
レシピによる報酬を作成
- ミッションの作成例 を参考に「Mineflow報酬」を追加する
- Mineflow側のトリガーで「ミッション報酬」を選択、対象の実績を指定する
- レシピ
- ミッション
Tips
- ミッション報酬をトリガに指定したMineflowレシピでは、変数targetが使用できます
- レシピによる報酬を複数作成したい場合でも、「Mineflow報酬」は1つまでにしてください
- レシピによる報酬を複数作成する場合で、2つ目以降の報酬内容を表示したい場合「何もしない(文字表示のみ)」を使用することができます
- Mineflow側でアクション追加画面を開き「ミッション」、「ミッションのステップを増やす」を選択して追加する
Tips
- ミッション側での設定は不要です
- レシピ側で条件式などを組み合わせることによって、かなり柔軟な設定が可能になります
前提条件
- plugin.ymlのdependにこのプラグインを追加する
- Rewardを継承したクラスを作成する(実装例は既存Rewardを参照)
- そのクラスをRewardsに追加
PHP:
pjz9n\mission\reward\Rewards::add(ExampleReward::class);
- Executorを継承したクラスを作成する(実装例は既存Executorを参照)
- そのクラスをExecutorsに追加
PHP:
pjz9n\mission\mission\executor\Executors::add(ExampleExecutor::class);
PHP:
pjz9n\mission\mission\MissionList
PHP:
pjz9n\mission\mission\progress\ProgressList
※各操作のタイミングは問いません(基本的にはプラグイン有効化タイミングに行うのが望ましい)