データパック質問所

スポンサーリンク

  • このトピックには12件の返信、2人の参加者があり、最後に匿名により4週、 1日前に更新されました。
5件の返信スレッドを表示中
  • 投稿者
    投稿
    • #91565返信
      クロスプ
      参加者

      データパックに関連するもの適当に質問していい場所です。気まぐれで返信します。データパックを1から創る場合最新版のほうが出来ることが多いので最新版で創ることをお勧めします。
      バージョンバニラかMod/Pluginサーバーはちゃんと書いてね。

    • #95142返信
      クロスプ
      参加者

      コマンドやjsonファイル等に””がある場合、こちらのサイトは変換されてしまいます。
      なので、””を使っている際は出来るだけCODE機能を使ってコードの初めと終わりにCODEボタン(`)で入力して頂くとコピペが楽になります。
      (よくわからない人はそのまま入力して頂いても構いません)

      例1
      /title @s title ["", {"text": "GAME START", "color": "yellow"}]
      例2

      give @p carrot_on_a_stick[minecraft:item_name='["", {"text": "すごい"},{"fallback":"CarrotOnAStick","translate":"item.minecraft.carrot_on_a_stick"}]',minecraft:unbreakable={show_in_tooltip:false},minecraft:fire_resistant={},minecraft:rarity="uncommon",minecraft:custom_model_data=99] 1
      function test:modify {path: "locker", storage: "test:system"}

      例3

      {
        "pools": [
          {
            "rolls": 1,
            "entries": [
              {
                "type": "minecraft:item",
                "name": "minecraft:stone"
              }
            ]
          }
        ]
      }
      • この返信は5ヶ月前にクロスプが編集しました。
      • この返信は5ヶ月前にクロスプが編集しました。
      • この返信は5ヶ月前にクロスプが編集しました。
    • #102782返信
      匿名
      ゲスト

      初めまして、データパックの入れ方に苦戦していて教えて頂きたいのですが
      当方MacBookでマイクラをしていてデータパックの入れ方がわからなくなりました。
      ご回答いただけると幸いです。

      • #102785返信
        匿名
        ゲスト

        すみません!!!!
        なんとかデータパック入れられ動作の確認も取れました
        お騒がせしました!!!!!

    • #114438返信

      大ミスしたので削除しました。

      • この返信は1ヶ月、 1週前にさくらがいが編集しました。
      • この返信は1ヶ月、 1週前にさくらがいが編集しました。
    • #114469返信

      初めまして。
      作ってたデータパックが完成したから動作確認したら、うまく動きません。どうすればいいですか?
      詳細

      • #114853返信
        クロスプ
        参加者

        色々なパターンがありますので、いくつか確認お願いします。

        1. pack.mcmetaの位置間違い
        > datapacks/<データパック名>/pack.mcmetaがあるか確認する。

        2. 「function」が「functions」になっていたり、「tags」が「tag」になっていたりする。
        > 1.21以降データパックは「tags」を除く場所(tags/function等も含む)に「s」をつけない。

        3. コマンド構文エラー/ファイル構文エラー
        > logファイルで確認できます。ランチャーの「起動時に出力ログを表示」をオンにすると、データパックリロード時にエラーを出してくれます。
        1
        2

        4. ゲームルールやtick freezeを使ってtickが反応しない。
        > /gamerule maxCommandChainLengthを大きくしたり、/tick unfreezeを実行したりする。

        5. dataがassetsになってる。
        > 自分がよく間違えるだけ。

        これはよくあるやつなので、もっと沢山のパターンがあります。

        • この返信は1ヶ月前にクロスプが編集しました。
        • この返信は1ヶ月前にクロスプが編集しました。
    • #115773返信
      匿名
      ゲスト

      初めまして。
      ご質問させてください。
      Java版 / 1.21.4
      今回初めてデータパックというものに触って苦戦しているのでご質問させてください。

      現在、カテゴリ別実績のコンプリートという実績を自作しようと奔走しております。
      新規でタブを作成すること、実績のアイコンを表示させること自体はできているのですが、
      既存(バニラ)の複数の実績達成をトリガーとしてオリジナルの実績を達成とするようにしたいのですが実績達成をトリガーとする書き方がわからず困っております。

      実績の達成をトリガーとすることがそもそも可能なのか、不可能な場合上記のような条件を満たすためにはどのように実装ができるかご教授いただけますと大変うれしいです。

      内容わかりにくく大変申し訳ございませんが何卒宜しくお願いいたします。

      • #115835返信
        クロスプ
        参加者

        進捗のトリガーに実績の達成がなかったと思いますので、1番簡単なtickとpredicateで検知する方法が最適だと思います。
        こちらは1tick遅れて進捗達成してしまいますが、バニラの進捗が達成したかどうかを直接検知できるのでとても使いやすいと思います。
        例えば下記のような形式で記入すると、「モンスターハンター」と「狙いを定めて」をpredicateで検知するという形になります。

        {
          "criteria": {
            "test": {
              "trigger": "minecraft:tick",
              "conditions": {
                "player": {
                  "type_specific": {
                    "type": "minecraft:player",
                    "advancements": {
                      "minecraft:adventure/kill_a_mob": true
                    }
                  }
                }
              }
            },
            "test2": {
              "trigger": "minecraft:tick",
              "conditions": {
                "player": {
                  "type_specific": {
                    "type": "minecraft:player",
                    "advancements": {
                      "minecraft:adventure/shoot_arrow": true
                    }
                  }
                }
              }
            }
          },
          "requirements": [
            [
              "test"
            ],
            [
              "test2"
            ]
          ]
        }

        なぜここでtestとtest2にわけているのかといいますと、進捗の達成度(1 / 2 とか)を出してくれるから分けてみました。
        この方法が1番簡単で安定すると思いますので、是非ご活用ください。

        • #115933返信
          匿名
          ゲスト

          ご丁寧にありがとうございます!
          ご教示いただけた方法で無事実装できました。
          進捗達成度も見えるように考慮していただき大変うれしいです!

          重ねてお伺いさせていただきたいのですが、
          作成した新規の実績ツリー(progress_sharing:progress/root)をデータパック初期で実績に表示させたいと思っております。
          load.jsonで呼び出すファイルで未達成なら付与、といった形でできるかと思っていたのですが実際には想定挙動にならずでした。
          それぞれのファイルを配置しているディレクトリや内容不備がありますでしょうか……?
          度々頼ってしまい大変申し訳ございません、お手すきの際で構いませんのでご教授いただければ幸いです。

          data\minecraft\tag\function\load.json

          
          {
            "values": ["progress_sharing:init"]
          }
          

          data\progress_sharing\function\init.mcfunction

          
          execute as @a[advancements={progress_sharing:progress/root=false}] run advancement grant @s only progress_sharing:progress/root
          
          • #116024返信
            クロスプ
            参加者

            めちゃくちゃわかりづらい仕様なのですが、「tag」ではなく「tags」で動作します。
            ここだけ何故か今でも複数形なんですよね…

          • #116039返信
            クロスプ
            参加者

            あと、「load.json」はワールドロード時と「/reload」時でしか実行されなく、基本的にワールドロード時にはプレイヤーがいないので、実質「/reload」でしか付与する事が出来ません。
            なので進捗のトリガーで「minecraft:tick」を使って与えるか、「tick.json」で与えるのが良いと思います。

          • #116302返信
            匿名
            ゲスト

            ありがとうございます!
            ほかのディレクトリが複数形から単数形に変更になった、との情報を見て勝手に単数形に変更してしまっておりました。
            修正しましたところ無事動作するようになりました!

            load.jsonの不便な部分についてもご教授いただきましてありがとうございます。
            tick.jsonで付与されていないユーザーを対象に付与するように修正いたしました。

            おかげさまでやりたかったことが一先ず実現できました、本当にありがとうございます。
            また、何か行き詰った際にはご質問させてください、ありがとうございました!

5件の返信スレッドを表示中
返信先: データパック質問所
あなたの情報: