【script】Script APIの記事編集ボタンが反応しない

スポンサーリンク

マイクラの配布サイト フォーラム 技術相談(統合版) 【script】Script APIの記事編集ボタンが反応しない

1件の返信スレッドを表示中
  • 投稿者
    投稿
    • #221995返信

      【やりたいこと】
      時計を使ったメニュー画面(ActionFormData)を作成しています。
      タグ”OP”を持っているプレイヤーにだけ、6番目のボタンの”記事編集”を表示させ、それを押すと editNews 関数を実行させたいです。

      【困っていること】
      OPタグを持っている状態でメニューを開くと、記事編集のボタン自体は表示されます。しかし、そのボタンをクリックしても何も反応しません。 他のボタン(case 0~5)は正常に動作しました。

      (この辺のコードは初めて…(多分)…触るのであんまり理解してません)

      【環境】
      Windows版マイクラ
      Windows11PC

      // MENU部分の抜粋
      function openMenu(player) {
      const isOp = player.hasTag(“OP”);
      const form = new ActionFormData()
      .title(“§l§aMENU”)
      .body(“選択してください”)
      .button(“ボタン0”) // 0
      .button(“ボタン1”) // 1
      .button(“ボタン2”) // 2
      .button(“ボタン3”) // 3
      .button(“ボタン4”) // 4
      .button(“ボタン5”); // 5

      if (isOp) {
      form.button(“§c記事編集”); // ここが6番目になるはず
      }

      form.show(player).then(res => {
      if (res.canceled) return;

      switch (res.selection) {
      case 0: /処理/ break;
      case 1: /処理/ break;
      case 2: /処理/ break;
      case 3: /処理/ break;
      case 4: /処理/ break;
      case 5: /処理/ break;
      case 6:
      if (isOp) {
      editNews(player); // ここが反応しない
      }
      break;
      }
      });
      }

      // editNews

      function editNews(player) {
      if (!player.hasTag(“OP”)) {
      player.sendMessage(${E}権限がありません/No permission);
      return;
      }

      const form = new ModalFormData()
      .title(“§c記事編集”)
      .body(“§r記事の内容文を編集できます。通常、英語・日本語の両方を入力します。”)
      .textField(“内容/Content”, “ここに入力”, getNews());
      form.show(player).then(res => {
      if (res.canceled) return;

      const text = res.formValues[0];

      if (!text.trim()) {
      player.sendMessage(${E}空欄は設定できません。);
      return;
      }

      setNews(text);

      world.sendMessage(${U} §f${player.name} がお知らせを更新しました\nNew announcements have been set by ${player.name});
      });
      }

      // 記事の保存

      function setNews(text) {
      world.setDynamicProperty(“NEWS”, text);
      }

      function getNews() {
      return world.getDynamicProperty(“NEWS”) ?? “§7現在お知らせはありません/No announcements”;
      }

      // manifest

      {
      “format_version”: 2,
      “header”: {
      “name”: “Sample 1”,
      “description”: “Sample 1”,
      “uuid”: “b14dd789-f35d-40d8-a078-360f2f3b985e”,
      “version”: [1, 0, 0],
      “min_engine_version”: [1, 20, 0]
      },
      “modules”: [
      {
      “type”: “script”,
      “language”: “javascript”,
      “uuid”: “5539bd55-965c-435f-be01-299d4038c51d”,
      “version”: [1, 0, 0],
      “entry”: “scripts/main.js”
      }
      ],
      “dependencies”: [
      {
      “module_name”: “@minecraft/server”,
      “version”: “1.10.0”
      },
      {
      “module_name”: “@minecraft/server-ui”,
      “version”: “1.2.0”
      }
      ]
      }

      間違いがありましたら是非教えてください

    • #221999返信
      匿名
      ゲスト

      すみません、、、違う話にはなるんですが、アイデア相談の所にコメントしてるので読んでいたら大丈夫なんですが、読んでなかったら確認お願いいたします

1件の返信スレッドを表示中
返信先: 【script】Script APIの記事編集ボタンが反応しないで#221999に返信
あなたの情報:




スポンサーリンク