メインコンテンツまでスキップ

Vault連携

バージョン7.1.0以降、EliteMobsはVault連携(VaultAPI 1.7を使用)をサポートしています。Vaultをオンにして、EliteMobsの経済をサーバーの経済と統一することができます。

それが悪いアイデアである理由:

EliteMobsにはレベルシステムがありません。進行システムは、エリートモブを倒してより良いアイテムを入手し、武器と防具のスキルをレベルアップして、より高いレベルのドロップ、より高いレベルのモブ、より高いレベルのクエスト、より高いレベルのアリーナチャレンジとダンジョンにアクセスすることに関連しています。

さらに、EliteMobsは、チャームの購入とエリートモブから入手したドロップの再販に関して、非常に繊細なバランスがあります。

したがって、サーバーの経済とEliteMobsの経済を組み合わせると、プレイヤーは簡単にトップに買い進むことができ、学習曲線をバイパスする可能性があります。

これで、進行システムが正しく機能しなくなり、さらに悪い問題が発生します。高レベルのエリートモブはさまざまなパワーを持っており、プレイヤーは何十時間もそれらと戦うことによって、それらのパワーをゆっくりと学習し、エリートモブが持つパワーを識別し、それらのパワーに対抗する方法を学習し、エリートモブとの戦闘に入る前に準備する方法を学習することを意図しています。

プレイヤーがエンドゲームにスキップすると、戦闘の難易度がほぼ不可能で非常に不公平に感じられます。長時間のプレイを通じて、EliteMobsを効率的に倒すために必要な知識を開発する時間がなかったためです。

要件

Vault連携を使用するには、以下が必要です:

  • Vaultプラグイン(VaultAPI 1.7+と互換性のあるバージョン)
  • Vaultに登録する経済プラグイン(EssentialsX、CMIなど)
  • 両方のプラグインが適切に設定され、実行されていること

EliteMobsは、設定で有効になっている場合、Vaultを自動的に検出して使用します。

設定

Vault連携を有効にするには:

  1. サーバーにVaultプラグインがインストールされていることを確認してください
  2. Vaultで機能する経済プラグイン(EssentialsX、CMIなど)があることを確認してください
  3. EliteMobsプラグインフォルダの EconomySettings.yml を開きます
  4. useVault - not recommended: true に設定します
  5. サーバーを再起動します

設定例:

# 警告: これを有効にすることは推奨されません! 理由については上記を参照してください。
useVault - not recommended: false

注意: 設定キーには、ゲームプレイへの影響を思い出させるために、意図的に「- not recommended」が含まれています。

仕組み

Vault連携が有効になっている場合:

  • すべてのEliteMobs通貨(エリートコイン)は、サーバーのメイン経済通貨に変換されます
  • プレイヤーは、エリートモブを倒すと、エリートコインの代わりにサーバーの経済通貨を獲得します
  • ショップトランザクション、スキルアップグレード、およびその他すべてのEliteMobs経済機能は、サーバーの経済を使用します
  • EliteMobs経済システムは、Vaultによって完全に置き換えられます

通貨操作:

  • 入金: プレイヤーのVault残高に金額が追加されます
  • 引き出し: プレイヤーのVault残高から金額が削除されます
  • 残高確認: プレイヤーのVault残高を照会します
  • 残高の直接設定: 安全のために無効化されています(経済プラグインを使用してください)

Vaultが初期化に失敗したり、利用できなくなったりした場合、EliteMobsは自動的に内部経済システムにフォールバックします。

セキュリティ機能

セキュリティ上の理由から、EliteMobsは、Vaultを介してプレイヤーの通貨残高を直接設定することをサポートしていません。そうしようとする試みはブロックされ、記録されます。必要に応じて、経済プラグインのコマンドを使用して残高を直接設定してください。

シナリオ例

Vaultなし:

  • プレイヤーがレベル50のエリートモブを倒す
  • 100エリートコインを受け取る(EliteMobsデータベースに保存)
  • EliteMobsショップでのみエリートコインを使うことができる

Vaultあり:

  • プレイヤーがレベル50のエリートモブを倒す
  • 100 [あなたの経済通貨] を受け取る(Vault/経済プラグインに保存)
  • EliteMobsショップとサーバーの他の場所でお金を使うことができる
  • 他のプレイヤーがEliteMobsサービスを購入するためにお金を送ることができる
  • 経済はすべてのプラグインで統一されます

これが推奨されない理由: プレイヤーが他のソースから通貨を使用して、意図された進行システムを破壊することを許可します。

トラブルシューティング

Vault連携が有効になっているが機能していない場合:

  1. サーバーログで次を確認してください: "[EliteMobs] Vault detected."

    • 見つからない場合: Vaultプラグインがインストールされていないか、読み込まれていません
  2. 警告を確認してください: "Something went wrong with the vault configuration"

    • 原因: Vaultバージョンの非互換性
    • 解決策: Vaultを最新バージョンに更新するか、連携を無効にしてください
  3. 次を確認してください: "Player checked currency with no economy entry"

    • 原因: 経済プラグインがプレイヤーアカウントを作成していません
    • 解決策: 経済プラグインの設定を確認してください
  4. 有効になっているが、EliteMobsがまだエリートコインを使用している場合:

    • 設定キーが正確に次のようになっていることを確認してください: "useVault - not recommended: true"
    • 設定変更後にサーバーを再起動してください
    • 経済プラグインがVaultに登録されていることを確認してください

開発者向け

アドオンまたは連携を開発している場合:

  • Vaultステータス: VaultCompatibility.VAULT_ENABLED(静的ブール値)を確認してください
  • 経済API: EconomyHandler メソッドを使用してください(VaultCompatibilityを直接使用しないでください)
  • サポートされている操作: 追加、減算、確認(設定は無効)
  • 通貨精度: 内部システムは小数点以下2桁を使用します
  • フォールバック: Vaultが失敗した場合、経済は自動的にフォールバックします

ソースコードの場所:

  • src/main/java/com/magmaguy/elitemobs/economy/VaultCompatibility.java
  • src/main/java/com/magmaguy/elitemobs/economy/EconomyHandler.java

EliteMobsは、VaultAPI 1.7をコンパイル専用の依存関係として使用します。Vaultプラグイン JARは、実行時にサーバーに存在する必要があります。