Navi API docs 1.0.0English

導入と最初の案内

1. リポジトリを追加

Mavenリポジトリから、使用するバージョンのJARを取得します。既存のMinecraft MODプロジェクトへ追加してください。

repositories {
    maven {
        url = uri("https://miyomiyo-mods.pages.dev/maven")
        content { includeGroup("dev.miyomiyo.navi") }
    }
}

クライアント用モジュールごとに、ローダーに合うJARを選びます。

Minecraft / ローダー Gradleの依存指定
1.21.1 / Fabric dev.miyomiyo.navi:navi-fabric:1.0.0
1.21.1 / NeoForge dev.miyomiyo.navi:navi-neoforge:1.0.0
26.2 / NeoForge dev.miyomiyo.navi:navi-neoforge-mc26.2:1.0.0

Fabric Loomの場合

dependencies {
    modImplementation "dev.miyomiyo.navi:navi-fabric:1.0.0"
}

NeoForge ModDevGradleの場合(1.21.1の例)

dependencies {
    implementation "dev.miyomiyo.navi:navi-neoforge:1.0.0"
}

実際に配布したMODのJARです。Minecraftのツールチェーンとマッピングは、各プロジェクトのものを使用してください。shadeやLoomの include による埋め込みは不要です。Minecraft非依存のDTOだけを使う共通モジュールでは compileOnly "dev.miyomiyo.navi:navi-api:1.0.0" を利用できます。この小さなAPI JARはプレイ用MODではなく、NaviClient も含みません。Naviと並べてゲームに導入するものではありません。

2. クライアント依存を宣言

MOD IDは navi です。ローダーのメタデータで、必須または任意のクライアント依存を宣言します。任意連携ではNaviに参照を持つクラスをロードする前にローダーの導入一覧を確認し、連携部分を別の連携クラスに分けてください。メソッド呼び出しを条件分岐で囲むだけでは、Naviを参照するクラスの読み込みを防げません。専用サーバーでクライアント用コードを呼び出さないでください。

3. ワールド参加後に開始

Minecraftのクライアントスレッドから呼び出します。NaviClient.ready() はワールドへの接続を確認するもので、案内を開始できるかどうかは確認しません。

var request = NavigationRequest.builder(
    new NavigationRequest.Location(
        WorldPosition.block("minecraft:overworld", 100, 64, 200)))
    .name("Home")
    .build();

var result = NaviClient.navigation().start("example_mod", request);
if (result instanceof NavigationResult.Success<Navigation> success) {
    Navigation navigation = success.value(); // ワールドごとの連携クラスで保持します。
} else if (result instanceof NavigationResult.Failure<Navigation> failure) {
    // 自分のMODで適切に案内します。BUSYでも他の案内を奪いません。
}

importは dev.miyomiyo.navi.api.* と dev.miyomiyo.navi.client.NaviClient です。WorldPosition.block はX/Zをブロック中心に合わせます。Yは視点ではなく足元の高さです。

開始成功は依頼の受理を表します。経路計算はその後も続くため、observe で進行の通知を受け取ります。保存や非同期調査を加える前に、一式の使用例とライフサイクルを確認してください。

設定画面

クライアントスレッドで NaviClient.openSettings(parentScreen) を呼ぶと、Navi専用の設定画面が開きます。経路の好みや見た目、CPU・メモリの使用量はこの画面で調整します。依頼には目的地や旅程を指定します。設定画面のショートカットキーは既定で未割当です。