だれかこのscriptAPIのプログラムのダメなところを言ってくれ

スポンサーリンク

自分のマイクラのバージョンは26.12です。

↓manifest.json

{
  "format_version": 2,
  "header": {
    "name": "sample",
    "description": "サンプルのアドオンです",
    "version": [1, 0, 0],
    "uuid": "bcf90086-ecc9-4419-b750-8213a90884ff",
    "min_engine_version": [1, 21, 0]
  },
  "modules": [
    {
      "type": "script",
      "description": "",
      "version": [1, 0, 0],
      "uuid": "ed81d048-b6a4-46bc-925d-b6ab918b57b0",
      "language": "javascript",
      "entry": "scripts/main.js"
    }
  ],
  "dependencies": [
    {
      "module_name": "@minecraft/server",
      "version": "3.0.0-alpha"
    }
  ]
}

↓main.json

import { system, world, CommandPermissionLevel, CustomCommandStatus, CustomCommandOrigin } from "@minecraft/server";

system.beforeEvents.startup.subscribe(ev => {
    /**
     * saba:helloコマンドを定義
     * @type {import("@minecraft/server").CustomCommand}
     */
    const helloCommand = {
        name: "saba:hello", // コマンド名
        description: "あいさつを行う", // コマンド説明
        permissionLevel: CommandPermissionLevel.Any, // 権限レベル: 誰でも
        // 必須の引数
        mandatoryParameters: [], // なし
        // 引数r
        optionalParameters: [], // なし
    }
    // helloコマンドを登録
    ev.customCommandRegistry.registerCommand(helloCommand, hello);
});
/**
 * saba:helloコマンドの処理関数r
 * @param {CustomCommandOrigin} origin
 * @returns {import("@minecraft/server").CustomCommandResult}
 */
function hello(origin) {
    // origin には実行者エンティティやブロックが入る
    // もし実行者エンティティの種族がプレイヤーではないならr
    if (origin.sourceEntity?.typeId !== "minecraft:player") {
        // コマンド結果を返す
        return {
            status: CustomCommandStatus.Failure, // 失敗
            message: "実行者はプレイヤーである必要があります",
        }
    }
    const player = origin.sourceEntity;
    // 挨拶メッセージを送る
    world.sendMessage(`[${player.nameTag}] こんにちは!`);
    // コマンド結果を返す
    return {
        status: CustomCommandStatus.Success, // 成功
        message: undefined, // メッセージなし
    }
}
スポンサーリンク
※投稿記事に含まれるファイルやリンクにより発生した被害についてクラフターズコロニーは責任を取りません
投稿通報

コメント

  1. main.jsonとありますが、main.jsの間違いではありませんか?
    もし拡張子を.jsonにしている場合、それが原因です。

    またmanifest.jsonの@minecraft/serverのversionについても、「3.0.0-alpha」でも動きますが「2.6.0」に変更したほうが壊れにくいので安全です。

コメント通報

通報するにはログインする必要があります