この記事では、Minecraft Java Edition(バージョン1.20.4)の情報をもとに執筆しています。
そのほかのバージョンや機種などでの動作は保証できません。
こんにちは!
マインクラフターのなつめです。
この記事では、こんな疑問を解決します!
- explosion_decayで爆発時のドロップ数を変更する
- 実例
explosion_decayを指示することで、爆発時のドロップ数が変化します。
変化といっても、数が減少するだけで増えることはありません。
その理由は、爆発威力の値を用いた割合分しかドロップしなくなるからですね。
ほかのitem_modifierと違って入力する項目がないため、仕組みさえ理解してしまえば簡単に使えます。
さっそく見ていきましょう!
本記事で紹介するデータパックのサンプルはGitHubにてダウンロードできます。
explosion_decayで爆発時のドロップ数を変更する
explosion_decayを指示することで、爆発によるドロップ数が変更されます。
explosion_decay自体に弄れる項目はなく、爆発によるドロップだった場合にその爆発威力に応じたドロップ率が適用されるだけなのが大きな特徴です。
具体的には、「1/爆発威力」の確率でドロップするようになるので、クリーパーの爆発だった場合は3分の1だけドロップするようになります。
クリーパーの爆発威力は3となっています。
詳しくはMinecraft Wikiに記載されています。
爆発によるドロップでない場合にはexplosion_decayが無視されるため、爆発時にドロップ数を絞りたい時だけ指示すればOKですね。
実例
explosion_decayはドロップ数を変更させるものですので、item_modifierではなくルートテーブルで使います。
item_modifierに作成して、referenceで呼び出す場合はその限りではありません。
データパックの構造としては以下の通り。
- データパック本体
- data
- minecraft
- loot_tables
- blocks
- jsonファイル
- blocks
- loot_tables
- minecraft
- pack.mcmeta
- data
jsonファイルには、デフォルトのファイルを上書きするように命名する必要があります。
ダイヤモンドブロックを上書きしようと思った場合には、diamond_block.jsonといった感じですね。
肝心のjsonファイルの中身は以下のような記述をします。
{
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:diamond",
"functions": [
{
"function": "minecraft:set_count",
"count": 30
},
{
"function": "minecraft:explosion_decay"
}
]
}
]
}
]
}
explosion_decayに弄る項目がないため、functionにexplosion_decayを指示しているだけです。
ルートテーブルの作成には生成サイトがおすすめです!
これだけで、爆発時のドロップ数が爆発威力によって変動する確率になります。
まとめ
というわけで、今回のまとめです。
- explosion_decayを指示することで、爆発による破壊の際にドロップ数が変更される。
この記事は以上になります。
2016年からマイクラを楽しんでおり、最近はクリエイティブモードでコマンドを駆使して遊んでいます!