閉じる
閉じる
×
・バニラの進捗,レシピなどを無効化(通知も削除)
datapack disable vanilla
・直前の結果の確認方法
- 準備
scoreboard objectives add IF dummy 条件分岐
- 使い方
execute store success score check IF run <チェックしたいコマンド>
execute score check IF matches 1 run <成功した場合>
execute score check IF matches 0 run <失敗した場合>
・所持判定してからコマンド実行
- リピートコマブロにclearでの判定があり、コンパレータを繋げてる場合
(コマブロ内は"/clear @a minecraft:検知したいアイテム 0")
execute if block -931 4 465 minecraft:comparator[powered=true] run say test
- NBTタグで検知
execute at @a[nbt={Inventory:[{id:"minecraft:検知したいアイテム"}]}] run say test
- 持っていない判定
execute at @a[nbt=!{Inventory:[{id:"minecraft:検知したいアイテム"}]}] run say test
- 何も持っていない判定
execute at @a[nbt={Inventory:[]}] run say test
・プレイヤー関係
- 現在の体力をスコアに入れる
execute store result score @a TEST run data get entity @p Health
- 現在選択しているアイテムスロット番号を取得する
execute store result score @a TEST run data get entity @p SelectedItemSlot
- 現在寝ているか判定する
execute at @a[nbt={Sleeping:0b}] run say test
- 現在地面に立っているか判定する
execute at @a[nbt={OnGround:1b}] run say test
- 足元のブロックチェック
execute at @p if block ~ ~-1 ~ minecraft:stone run say test
- 出来る限りアイテムを捨てさせない
execute at @p run data merge entity @e[limit=1,type=item,distance=..3] {PickupDelay:0}
・一度だけ実行
- 準備
scoreboard objectives add ONCE dummy
scoreboard players set one ONCE 0
- 使い方
execute score one ONCE matches 0 store success one ONCE run say test
・データパックのディレクトリ構成
+ [フォルダ] saves
+ [フォルダ] (ワールドの名前)
+ [フォルダ] datapacks
+ [フォルダ or zip形式] (データパックの名前)
- [ファイル] pack.mcmeta
+ [フォルダ] data
+ [フォルダ] (名前空間の名前)
+ [フォルダ] advancements (進捗関係)
+ [フォルダ] functions (関数関係)
+ [フォルダ] loot_tables (ルートテーブル関係)
+ [フォルダ] recipes (カスタムレシピ関係)
+ [フォルダ] structures (ストラクチャー関係)
+ [フォルダ] tags (タグ関係)
+ [フォルダ] blocks
+ [フォルダ] items
+ [フォルダ] functions
・Tagsについて
+ [フォルダ] tags (タグ関係)
+ [フォルダ] blocks
+ [フォルダ] items
+ [フォルダ] functions
これらは、ブロックなどを1つにまとめることができる
例) data/test(任意)/tags/blocks/ground(任意).json
execute at @p if block ~ ~-1 ~ #test:ground run say test
とリピートに入れると、"石ブロックと草ブロック"の上にいる時、だけ実行される
・毎Tick実行してくれるFunction
data/minecraft/tags/functions/tick.json
に以下のようにfunctionファイルを指定すると毎tick実行してくれる
基本的に全部順番に実行される
- a1
- b1
- c1
- c2
- c3
- b2
- b3
- a2
- a3
の順番で実行される
そのため、scoreboardで引数をsetして、中で使って値をsetして返すことも可能
datapack disable vanilla
・直前の結果の確認方法
- 準備
scoreboard objectives add IF dummy 条件分岐
- 使い方
execute store success score check IF run <チェックしたいコマンド>
execute score check IF matches 1 run <成功した場合>
execute score check IF matches 0 run <失敗した場合>
・所持判定してからコマンド実行
- リピートコマブロにclearでの判定があり、コンパレータを繋げてる場合
(コマブロ内は"/clear @a minecraft:検知したいアイテム 0")
execute if block -931 4 465 minecraft:comparator[powered=true] run say test
- NBTタグで検知
execute at @a[nbt={Inventory:[{id:"minecraft:検知したいアイテム"}]}] run say test
- 持っていない判定
execute at @a[nbt=!{Inventory:[{id:"minecraft:検知したいアイテム"}]}] run say test
- 何も持っていない判定
execute at @a[nbt={Inventory:[]}] run say test
・プレイヤー関係
- 現在の体力をスコアに入れる
execute store result score @a TEST run data get entity @p Health
- 現在選択しているアイテムスロット番号を取得する
execute store result score @a TEST run data get entity @p SelectedItemSlot
- 現在寝ているか判定する
execute at @a[nbt={Sleeping:0b}] run say test
- 現在地面に立っているか判定する
execute at @a[nbt={OnGround:1b}] run say test
- 足元のブロックチェック
execute at @p if block ~ ~-1 ~ minecraft:stone run say test
- 出来る限りアイテムを捨てさせない
execute at @p run data merge entity @e[limit=1,type=item,distance=..3] {PickupDelay:0}
・一度だけ実行
- 準備
scoreboard objectives add ONCE dummy
scoreboard players set one ONCE 0
- 使い方
execute score one ONCE matches 0 store success one ONCE run say test
・データパックのディレクトリ構成
+ [フォルダ] saves
+ [フォルダ] (ワールドの名前)
+ [フォルダ] datapacks
+ [フォルダ or zip形式] (データパックの名前)
- [ファイル] pack.mcmeta
+ [フォルダ] data
+ [フォルダ] (名前空間の名前)
+ [フォルダ] advancements (進捗関係)
+ [フォルダ] functions (関数関係)
+ [フォルダ] loot_tables (ルートテーブル関係)
+ [フォルダ] recipes (カスタムレシピ関係)
+ [フォルダ] structures (ストラクチャー関係)
+ [フォルダ] tags (タグ関係)
+ [フォルダ] blocks
+ [フォルダ] items
+ [フォルダ] functions
・Tagsについて
+ [フォルダ] tags (タグ関係)
+ [フォルダ] blocks
+ [フォルダ] items
+ [フォルダ] functions
これらは、ブロックなどを1つにまとめることができる
例) data/test(任意)/tags/blocks/ground(任意).json
みたいに書いた場合、{"values": ["minecraft:stone","minecraft:grass_block"]}
execute at @p if block ~ ~-1 ~ #test:ground run say test
とリピートに入れると、"石ブロックと草ブロック"の上にいる時、だけ実行される
・毎Tick実行してくれるFunction
data/minecraft/tags/functions/tick.json
に以下のようにfunctionファイルを指定すると毎tick実行してくれる
・Functionファイルの実行順序{"values": ["test:exec","test:hello/world"]}
基本的に全部順番に実行される
と各ファイルに書いた場合、# func:testaのファイルの中身
say a1
function func:testb
say a2
say a3
# func:testbのファイルの中身
say b1
function func:testc
say b2
say b3
# func:testcのファイルの中身
say c1
say c2
say c3
- a1
- b1
- c1
- c2
- c3
- b2
- b3
- a2
- a3
の順番で実行される
そのため、scoreboardで引数をsetして、中で使って値をsetして返すことも可能
広告