この記事では、Minecraft Java Edition(バージョン1.20.4)の情報をもとに執筆しています。
そのほかのバージョンや機種などでの動作は保証できません。
こんにちは!
マインクラフターのなつめです。
この記事では、こんな疑問を解決します!
- looting _enchantでドロップ数を変化させる
- 実例
looting _enchantはドロップするアイテムの数を変更することのできるitem_modifierの項目です。
ドロップ増加のエンチャントを参照することが定められているので、やや限定的なのがネックですが、レベルに応じたドロップ数を扱えるので、一見の価値はあります。
さっそく見ていきましょう!
本記事で紹介するデータパックのサンプルはGitHubにてダウンロードできます。
looting _enchantでドロップ数を変化させる
looting_enchantを指示することで、アイテムのドロップ数を変更することが出来ます。
具体的には、ドロップ増加のエンチャントが付いている場合にそのレベルとcountの値を掛けたうえで、ルートテーブルのrollsの値を掛けます。
ドロップ総数が大きくなると誤差が生じる点については調査中です。
おそらくですが、どこかの値が小数点以下の数字が0でないために、数字が大きくなるにつれて徐々に影響を及ぼしているのだと考えています。
ほかのエンチャント内容では機能しないため、ただただドロップ増加のエンチャントだけを対象にしています。
実例
実際の例で見ていきましょう。
今回はタラを倒した際にラピスラズリをドロップするようにし、ドロップ増加のエンチャントが付与されている場合にドロップ数が変化するようにします。
というわけで、まずはデータパックの構造です。
- データパック本体
- data
- minecraft
- loot_tables
- entities
- cod.json
- entities
- loot_tables
- minecraft
- pack.mcmeta
- data
タラのドロップ品をいじるので、タラのルートテーブルを上書きできるような階層でファイルなどを作成しています。
cod.jsonには以下のような記述します。
{
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:lapis_lazuli",
"functions": [
{
"function": "minecraft:looting_enchant",
"count": 1,
"limit": 5
}
]
}
]
}
]
}
上記はタラのドロップ品をラピスラズリに変更しつつ、looting_enchantを指示しています。
looting_enchantでは、countとlimitを指示する必要があります。
countは先ほども説明したように、ドロップ増加のエンチャントと掛ける値です。
limitは掛けた値の上限となっています。
もしドロップ増加のエンチャントレベル10を使って倒した場合は、1×10となり、上限である5を超えています。
そのため、10ではなく5が結果として現れ、rollsの値と掛けます。
つまるところ、上記の例ではドロップ総数は5となるわけですね。
また、limitに0を指示することで制限をなくすことも可能です。
まとめ
というわけで、今回のまとめです。
- looting_enchantを指示することで、ドロップ増加のエンチャントのレベルによってドロップ総数が変化する。
この記事は以上になります。
2016年からマイクラを楽しんでおり、最近はクリエイティブモードでコマンドを駆使して遊んでいます!