メインコンテンツまでスキップ
バージョン: KPM v3

プラグインリゾルバ

クエリからプラグインを解決します。


概要

プラグインリゾルバは、有効なクエリを解決し、プラグインの直リンクを返すモジュールです。 この機能により、インストール時にプラグイン検索して直リンクをコピーする必要がなくなります。

各サービスプロバイダに 1 つずつのリゾルバが割り当てられており、プラグインリゾルバは KPM 内部で登録された順に解決を試みます。 KPM は、GitHub, SpigotMC などの各サービスに対応したリゾルバを複数個登録しています。
詳しくは以下のリゾルバ一覧セクションを参照してください。

備考 - Since

この機能は KPM v3 で強化されました!

リゾルバ一覧


AliasResolver

事前に登録されたプラグインの別名(エイリアス)を用いて解決します。

リゾルバ名

  • alias
  • local

  • ExampleAlias
  • alias>ExampleAlias
  • local>ExampleAlias==1.0.0

BruteforceGitHubResolver

GitHub 上に公開されているプラグインの組織名(ユーザ名)を省略するために使用する補助的なリゾルバです。

注記

このリゾルバは直接指定できません。また、直リンクを返さず、GitHubURLResolver に処理を委譲します。
これは、 GitHub の優越によるためです。

備考

これはフォールバックリゾルバの一つです。
他のリゾルバが解決に失敗した場合に使用されます。


CurseBukkitResolver

CurseForgeBukkit 上に公開されているプラグインを解決します。

このリゾルバは、 有効な CurseForge または Bukkit のプラグインページの URL のみを受け入れます。

リゾルバ名

  • curseforge
  • curse
  • forge
  • bukkit

  • https://www.curseforge.com/minecraft/mc-mods/example-mod
  • curseforge>https://www.curseforge.com/minecraft/mc-mods/example-mod==123456

GitHubURLResolver

GitHub 上に公開されているプラグインを解決します。

このリゾルバは、 有効な GitHub のプラグインページの URL のみを受け入れます。

複数のリリース/アーティファクトが見つかった場合、以下の条件に従って最も適切なものを選択します。

  • バージョンが新しい プレリリースが指定されているバージョンは、リリースバージョンよりも古いとみなされます。
    これは、リリースでPre-releaseがチェックされていない場合でも同様です。
  • ファイル名が .jar もしくは .zip で終わる
  • ファイル名が .api.jar もしくは .api.zip終わらない

詳細な情報

また、KPM は以下に示す方法で評価値を算出し、最も高い評価値を持つプラグインを選択します。

  • 初期値は 0
  • メジャーバージョンに 1000 を掛けた値を足す
  • マイナーバージョンに 100 を掛けた値を足す
  • パッチバージョンに 10 を掛けた値を足す
  • プレリリースバージョンがある場合、 それに 1 を掛けた値を引く (全ての文字を Unicode の値に変換して足す)
  • ファイル名が .jar もしくは .zip で終わる場合、 500 を足す
  • ファイル名が .api.jar もしくは .api.zip で終わる場合、 500 を引く
  • リリースがプレリリースとしてマークおり、かつプレリリースバージョンがない場合、 500 を引く
ヒント

KPM は、プレリリースバージョンよりも正式なバージョンを優先してインストールしようとします。

評価値の算出例

例1

  • バージョン 1.2.3

  • ファイル名 MyPlugin-1.2.3.jar

  • プレリリース?: いいえ

    評価値 = 0 + (1 * 1000) + (2 * 100) + (3 * 10) + 500 = 1230

    例2

  • バージョン 1.2.3-pre1

  • ファイル名 MyPlugin-1.2.3-pre1.plugin.jar

  • プレリリース?: はい
    プレリリース (pre-1) = 114 + 45 + 49 = 472

    評価値 = 0 + (1 * 1000) + (2 * 100) + (3 * 10) - 472 + 500 = 758


    この場合、例1のプラグインが選択されます。

リゾルバ名

  • github
  • gh

  • https://www.github.com/ExampleUser/ExamplePlugin
  • github>https://github.com/ExampleUser/ExamplePlugin==1.0.0

RawURLResolver

既に解決されている直リンクをオウム返しする補助的なリゾルバです。

注記

このリゾルバは直接指定できません。

備考

これはフォールバックリゾルバの一つです。
他のリゾルバが解決に失敗した場合かつ、 URL が指定された場合に使用されます。


SpigotMCResolver

SpigotMC 上に公開されているプラグインを解決します。
このリゾルバは、 有効な SpigotMC のプラグインページの URL のみを受け入れます。

リゾルバ名

  • spigotmc
  • spigot
  • spiget

  • https://www.spigotmc.org/resources/example-plugin.123456/
  • spigotmc>https://www.spigotmc.org/resources/example-plugin.123456

OmittedGitHubResolver

GitHub 上に公開されているプラグインを解決する際に、 https://github.com/ を省略した形式でも解決できるようにする補助的なリゾルバです。

  • ExampleUser/ExamplePlugin
  • ExampleUser/ExamplePlugin==1.0.0
  • github>ExampleUser/ExamplePlugin==1.0.0