mcMMO Rewards:Minecraftのレベルアップ報酬プラグイン解説
Minecraftサーバー向けmcMMO Rewardsプラグインの詳細解説。レベルアップトリガーの設定、コマンドの構成、mcMMO APIとの連携方法を紹介。
Minecraftサーバー向けmcMMO Rewardsプラグインの詳細解説。レベルアップトリガーの設定、コマンドの構成、mcMMO APIとの連携方法を紹介。
依存関係:
ローダー: Paper / Spigot / Purpur
Minecraftバージョン: 1.20.x – 1.21.10
プラグイン: McMMO
人気のRPGシステムmcMMOは、釣りや採掘、薬草学といったスキルのレベルアップ要素をMinecraftサーバーに追加する。しかし、オリジナルプラグインの開発者は、プレイヤーが特定のレベルに到達した際にアイテムや通貨、カスタム称号を自動的に付与する柔軟な仕組みを用意しなかった。補助拡張プラグインmcMMO Rewardsは、まさにこの課題を解決する。mcMMOのレベルシステムをサーバーのコンソールコマンドと結び付けることで、サーバー運営者は複雑なスクリプトを書かずにアクティブなプレイヤーへの自動報酬を設定できる。
イベント処理とAPI連携
mcMMO Rewardsは、Spigot/Paperサーバーのコアに直接組み込まれる軽量なイベントリスナーとして動作し、mcMMOプラグインの公式APIと通信する。
McMMOPlayerLevelUpEvent の捕捉
プレイヤーがいずれかのスキルでレベルアップするたび(たとえば鉱石を採掘したり作物を収穫したりすることで)、mcMMOはMcMMOPlayerLevelUpEventを発生させる。mcMMO Rewardsはこのイベントを捕捉し、以下のロジックを実行する。
スキル名とプレイヤーが到達した新しいレベルを読み取る。
そのデータを設定ファイル
config.ymlで定義された報酬リストと照合する。一致するものが見つかると、プラグインはコンソールとして設定済みのコマンドリストを実行し、プレースホルダー
%player%をプレイヤー名に置き換える。
イベント処理の重要な制限
プラグインはMcMMOPlayerLevelUpEventだけに結び付いているため、プレイ中に自然に達成されたレベルアップにしか反応しない。⚠️ レベルのリセットとデータベース編集: 管理者がSQLite/MySQLのデータベースファイルを直接操作してプレイヤーのレベルを変更した場合(統計移行やワイプの際など)、または標準のレベルアップイベントを発生させずにレベル値を変更するコンソールコマンドを使用した場合、報酬は発動しない。またこのプラグインは報酬の遡及付与にも対応していない。プレイヤーがmcMMO Rewardsの導入前にすでにレベル50に達していた場合、次のレベルに到達するまで、以前に通過したレベル(10、20など)の報酬は受け取れない。
config.yml の構造と報酬設定
すべての報酬は、単一の設定ファイルplugins/mcMMORewards/config.ymlで定義される。YAMLのシンプルな構文のおかげで、開発者は多段階の報酬システムを素早く構築できる。
設定構文の説明
各報酬ブロックは厳格な階層構造に従う。
スキル名(Skill): mcMMOの公式スキル名と一致させる必要がある(例:
mining、woodcutting、swords、herbalism)。レベル(Level): コマンドが実行されるレベルを表す整数。
コマンドリスト: コンソールで実行するアクションのリスト。コマンドの先頭にスラッシュ
/を付ける必要はない。すべてのコマンドはサーバーがコンソール(OP権限)として直接実行するためである。
設定ファイルの例
以下は、アイテムとお金を付与するための正しく構成されたファイルの例である。
rewards:
mining:
10:
- "give %player% iron_ingot 5"
- "broadcast &6[RPG] &e%player% &fдосяг 10-го рівня видобутку руди!"
50:
- "eco give %player% 1000"
- "give %player% diamond 3"
swords:
25:
- "xp give %player% 500"この例では、プレイヤー%player%がminingのレベル10に到達すると鉄インゴットを受け取り、サーバー全体にメッセージがブロードキャストされる。レベル50に到達すると、プレイヤーは経済プラグイン(EssentialsXなど)を通じて1000単位の通貨とダイヤモンド3個を受け取る。
プラグインの管理:コマンドと権限
mcMMO Rewardsは非常にコンパクトな拡張プラグインであるため、そのコマンドと権限のリストは管理機能のみに限定されている。
設定リロードコマンド
config.ymlファイルへの変更を適用するために、Minecraftサーバー全体を再起動したりゲームプレイを中断したりする必要はない。次のコマンドを実行するだけでよい。/mcmmorewards reload このコマンドはサーバーのメモリから古い設定をアンロードし、設定ファイルを再読み込みして、新しい報酬を即座に適用する。
管理者権限(Permissions)
サーバーのセキュリティ上、リロードコマンドを実行できる権限は専用のパーミッションノードに限定されている。一般プレイヤーはこのコマンドにアクセスできない。管理者やモデレーターに権限を付与するには(たとえばLuckPermsを使って)、次のノードを使用する。mcmmorewards.reload デフォルトでは、この権限はサーバーオペレーター(OP)権限を持つすべてのプレイヤーに自動的に付与される。
まとめ
mcMMO Rewardsは、mcMMOのスキルシステムを利用するRPG・サバイバル要素を備えたMinecraftサーバーにとって優れた補助ツールである。複雑なスクリプト言語を学んだり重量級のスクリプトを使ったりすることなく、ゲーム内活動に対する自動報酬付与を簡単に設定できる。
Skriptのような複雑なスクリプト(mcMMOのイベントを監視するために独自の構文を書く必要がある)や本格的なクエストプラグインと比較すると、mcMMO Rewardsは可能な限りシンプルかつ迅速に設定でき、サーバーリソースの消費もほぼゼロという特徴を持つ。ただし、mcMMOプラグインがインストールされていることへの完全な依存と、コマンドがコンソールとしてしか実行できないという点が主な制約となる。このプラグインは、資源採取や戦闘スキルの成長に対して手軽な報酬を素早く追加したいサーバーに最適である。
インストール
通常のインストールは約 5 分で完了します。手順は同じで、ローダーと対応するビルドだけが異なります。
- 1Stop your Minecraft server.
- 2Drop the plugin .jar into the server /plugins folder.
- 3Start the server once so the plugin generates its config files.
- 4Edit /plugins/<name>/config.yml as needed, then run /reload confirm or restart.











