マルチプレイなら『シン・VPS』がおすすめ!

【マイクラ】set_damageで耐久値を操作する【item_modifier】

【マイクラ】set_damageで耐久値を操作する【item_modifier】

この記事では、Minecraft Java Edition(バージョン1.20.4)の情報をもとに執筆しています。
そのほかのバージョンや機種などでの動作は保証できません。

こんにちは!
マインクラフターのなつめです。

なつめ

2016年からマイクラを楽しんでおり、最近はクリエイティブモードでコマンドを駆使して遊んでいます!

この記事では、こんな疑問を解決します!

本記事の内容
  • set_damageで耐久値を操作する
  • 実例

set_damageを適用させることで、アイテムの耐久値を操作することが出来ます。

つまり、damageとはアイテムに対するダメージというわけですね。

実際にどのように使うのか、どういった設定項目があるのかを解説していますので、ぜひ参考にしてくださいね。

それでは、さっそく見ていきましょう!

本記事で紹介するデータパックのサンプルはGitHubにてダウンロードできます。

set_damageで耐久値を操作する

set_damageを適用することで、アイテムの耐久値を弄ることが可能です。

具体的には0~1の間で値を指示し、この値は割合を示します。
つまり、0を示せば0%。1なら100%ですね。

0.5といった小数点以下を含む値にも対応しています。

そうして、指示した割合に対応する値へと変化させる、割合分だけ耐久値を増加させるといったことが行えます。

値を割合ではなく直接指示したい場合には、dataコマンドなどを駆使する必要があります。

実例

ここからは実例を見ていきます。

まずはデータパックの構造からです。

  • データパック本体
    • data
      • minecraft
        • loot_tables
          • entities
            • cod.json
      • フォルダー
        (今回はsampleと命名したとします)
        • item_modifiers
          • jsonファイル
            (今回はtest.jsonと命名したとします)
    • pack.mcmeta

今回はタラのドロップ品をダイヤの斧にしつつ、その耐久値を半分にされているものにします。

また、item_modifierとして作成するものについても触れていきます。

タラのドロップ品を変更した場合

上記で紹介したcod.jsonの中身はこちら。

{
    "type": "minecraft:entity",
    "pools": [
      {
        "rolls": 1,
        "entries": [
          {
            "type": "minecraft:item",
            "name": "minecraft:diamond_axe",
            "functions": [
              {
                "function": "minecraft:set_damage",
                "damage": 0.5,
                "add": false
              }
            ]
          }
        ]
      }
    ]
  }

set_damageのdamage部分に0.5が指示されているため、ダイヤモンドの斧の最大耐久値の半分の値が、ドロップするダイヤモンドの斧の耐久値となります。

つまりは、すでに半分使用されている状態の斧がドロップするわけですね。

addの項目については、trueかfalseで指示します。

falseの場合は元の耐久値に関係なく、指示した割合へと変更します。
一方でtrueの場合には、現在の耐久値と指示した割合となる値を足した耐久値へと変化します。

item_modifierとして記述する場合

item_modifierとして記述する場合は、以下のようなものになります。

[
    {
      "function": "minecraft:set_damage",
      "damage": 0.25,
      "add": true
    }
  ]

この記述の場合は、damageが0.25である点とaddでtrueが指示されている点から、最大耐久値の1/4の値だけ現在の耐久値から回復するものですね。

使用するには、itemコマンドで作成したファイルを適切に指示すればOKです。

以下は実行する場合のコマンド例になります。

/item modify entity @s weapon.mainhand sample:test

まとめ

というわけで、今回のまとめです。

ポイント
  • set_damageを適用することで、アイテムの耐久値を操作することが出来る。

この記事は以上になります。

  • 【まとめ】functionコマンドの基本から応用【マイクラ】
  • 【まとめ】カスタムストラクチャーの実装・カスタム方法【マイクラ】