113コマンド変更点まとめ

Java版のアップデート「1.13」では、コマンドやカスタムマップ関連の追加・変更が多数予定されています。新要素「データパック」やターゲットセレクターのNBT引数、executeコマンドの大幅進化など、配布ワールドが大きく進化する新要素が盛り沢山ですが、同時に「データ値廃止」「あらゆるコマンドの構文変更」など、知っておかないとあなたのワールドがぶっ壊れるような変更もやってきます。今一度確認して、1.13に備えましょう!

最終更新日時
2018年1月11日 00:20
18w02a仕様に更新、executeコマンドの新機能やteleportコマンドの仕様変更などについて追記
スポンサーリンク

参考にさせて頂いたページ様

1.13 – Official Minecraft Wiki
https://minecraft.gamepedia.com/1.13

1.13/Flattening – Official Minecraft Wiki
https://minecraft.gamepedia.com/1.13/Flattening


目次


※この記事の内容は2018年1月11日 00:20現在の最新のSnapShotの仕様に基づいて書いています



向き相対座標(ローカル座標)が使えるようになった

  • 向き相対座標(ローカル座標)が実装された
  • ^ 記号を使えば、ワールドではなくローカル相対座標を指定できる
  • ローカル相対座標は、コマンドを実行するエンティティの向きが基準になる
  • ワールド相対座標(~記号を使うやつ)と同様に、距離はエンティティの底面から計測される
  • 向き相対座標(ローカル座標)は、^左 ^上 ^前の順に書く
  • 例えば、/setblock ^ ^ ^3 stone ならプレイヤーの3ブロックに石が設置される

ブロックのデータ値廃止、状態やNBTタグはIDの後に続けて書くように

  • これまでブロックIDの後に書いてきた「データ値」は廃止された
  • その代わりに、多くのブロックに新しいIDが割り振られた
NBTタグも続けて書ける
  • これまでデータ値の代わりに書いていたブロックの状態は、空白を空けずに四角カッコで囲んで書く
    • 例えばかまどでは、minecraft:furnace[facing=north] といった感じに書く
  • minecraft:redstone_wire[power=15,north=up,south=down]という風に、ブロックの状態はコンマで区切って書く
  • minecraft:chest[facing=north]{CustomName:"すごいチェスト"}という風に、NBTタグを続けて書くことも可能
  • コマンドでは、ID[状態]{NBTタグ} をまとめて<ブロック>として扱う
  • redstone_wire[power=15]と書いた場合、レッドストーンパウダーの動力の強さだけを判定し、他の状態は気にしない
  • ブロックがサポートしていない状態を書くとエラーになる
  • 書かなかった状態はデフォルトの値になる

アイテムのデータ値廃止、耐久値やNBTタグはIDの後に続けて書くように

  • これまでアイテムIDの後に書いてきた「データ値(ダメージ値)」は廃止された
  • データ値で指定していた木材の種類やベッドの色などには、それぞれにIDが割り振られる
    • 樫の木はminecraft:planks 1からminecraft:oak_planksになる
耐久値の指定
  • 耐久値を指定したい時は、minecraft:wooden_sword{Damage:10}という風に、IDの後にNBTタグとして{Damage:○○}と書く必要がある
  • 以下の解説では、ID{NBTタグ}をまとめて<アイテム>と書く

多くのアイテムのIDやブロックの状態の書き方が変更された

  • 「平坦化(Flattening)」の一環として、多くのアイテム・ブロックのIDが変更・統合・分割された
  • データ値が廃止されたため、データ値で指定していたものの多くに新しいIDが割り振られた
    • 例えば花崗岩はstone 1からgraniteになった
  • また、多くのブロックの状態の書き方も変わっている
  • 変更されたID/ブロックの状態一覧表はこちら▼の記事を参照してほしい
1.13で変更されるID/ブロックの状態一覧表
JE113IDBS変更まとめ
https://napoan.com/java-113-id-bs-changes/

エンティティのターゲットセレクターの書き方に関する変更点

エンティティのNBTタグを引数の中に書けるように

  • [nbt={}]引数が実装
  • @e[nbt={Cool:1b}]という風に、引数内でNBTタグを指定できる
  • @e[nbt=!{Uncool:1b}]という風に、!を付ければ「このNBTタグ以外の指定もできる

m→gamemodeなど、いくつかの引数の名前が変更

  • いくつかの引数の名前が変更された
  • 変更される引数は以下の通り
    • mgamemode
    • llmlevel
    • rrmdistance
    • rxrxmx_rotation
    • ryrymy_rotation
    • climit

エンティティの選択順を指定するsort引数が追加

  • エンティティを選ぶ並び順を指定する、[sort=]引数が追加された
    • [sort=nearest]は@rセレクタ以外でデフォルトの挙動。最寄りのエンティティから選ぶ
    • [sort=furthest]は遠くのエンティティから選ぶ([c=-5]といったマイナスの数値に代わる機能)
    • [sort=random]はランダムに選ぶ (@rセレクタではデフォルト)
    • [sort=arbitrary]は結果を並び替えないための新しい選択肢。並び替えが必要なく、コマンドを最適化したい場合に便利

limit引数ではマイナスの数値が使えず、遠くから指定したい際は[sort=furthest]と書く必要がある

  • c=引数から名前が変更された[limit=]引数では、マイナスの数値を指定できない
  • 遠くのエンティティから順番に選びたい場合は、新しく実装されたsort=引数を使って[sort=furthest]と併記する必要がある

引数の数値の範囲は「..」を使って指定する方式に変更

  • 引数は「最小」「最大」に分けて書いていたが、これからは1つにまとめて書く必要がある
  • [level=10..12]と書けば、「レベル10以上12以下」が指定できる
  • [level=5..]「レベル5以上」を意味する
  • [level=..15]「レベル15以下」を意味する

scoreboardの値は、{}で囲って指定するように

だいぶ前にこの仕様がSSに実装されてから、ずっと見落としてました。本当に申し訳ありませんでした!

  • スコアの値を指定するときは、{}を使ってまとめて指定するようになった
  • 例えば、scores={foo=1,bar=1..5}という風に書く
  • level引数などと同様に、ドットを2つ打って範囲を指定できる。score_○○_min=と書く必要はもうない!

tagやtypeなどの引数を繰り返して書けるように、ただし例外あり

  • タグを複数指定したい時などに、同じ引数を繰り返し書けるようになった
  • [tag=foo,tag=bar,tag=!baz]「fooとbarが付いてbazが付いていない」を意味する
  • [type=!cow,type=!chicken]「ウシでもニワトリでもないエンティティ」を意味する
  • [type=cow,type=chicken]無効になる。なぜならエンティティはウシとニワトリの両方にはなれないから

引数内でスペースが使えるように

  • @e[name="Super Monster"]という風に、引数内でスペースが使えるようになった

意味のない引数はエラーになるように

  • limit=0, level=-10, gamemode=purpleなど、意味のない引数は許可されない(エラーになる)

座標引数でブロックの中央が基準になることはなくなった

  • x, z引数はもうブロックの中央を基準にしない。(x=0x=0.5になることはない)
  • これらの引数で小数が使えるようになるので、従来の動作をさせたいならx=0.5と書けばいい

x,y,z,distance,x_rotation,y_rotation引数がdouble型になり小数が使えるように

  • x, y, z, distance, x_rotation, y_rotation引数がdouble型になり、12.34のような小数が使えるようになる
  • 例: /testfor @e[x=11.4,y=51.4,z=8.1,distance=19.19]

ゲームモード引数で数字が使えなくなった

  • m引数に代わるgamemode(ゲームモード)引数では数字のIDは使えない。(例: gamemode=1などはだめ)
  • 数字のIDは数年前に非推奨になった

進捗(Advancements)を条件にするadvancements引数が追加

  • 進捗の達成状況を条件にする、advancements=引数が追加された
  • 例えば advancements={foo=true,custom:bar=false} なら、進捗fooが完全に達成されていて名前空間customのbarが達成されていないことが条件になる
  • advancements={something={joken1=true,joken2=false}} なら、進捗somethingのうちの条件「joken1」が達成されていて条件「joken2」が達成されていないことが条件になる

アイテム・エンティティ・ブロックのNBTタグの追加・削除・変更まとめ

アイテムのNBTタグの追加・削除・変更まとめ

  • (削除) アイテムのデータタグの一番上の階層のDamageタグが削除された
  • (追加) Damageはアイテムのtagタグ内に追加されたが、これは耐久値の指定だけに用いる
  • (追加) mapタグが地図のtagタグ内に追加された
  • (変更) 盾のBaseタグの色の数字が、一貫性のために順番が逆になった (例えば黒色は0ではなく15になった)

エンティティのNBTタグの追加・削除・変更まとめ

  • (変更) オオカミのCollarColorタグの数字が、一貫性のために順番が逆になった (例えば黒色は0ではなく15になった)
  • (変更) エンダーマンのCarriedCarriedDataタグは、CarriedBlockStateタグに統合された
    • これからは{Name:"<ID>",Properties:{<プロパティ名>:"<値>"}}と書く
  • (変更) 矢のinTileタグはinBlockStateに名前が変更された
    • これからは{Name:"<ID>",Properties:{<プロパティ名>:"<値>"}}と書く
  • (削除) 矢のinDataタグは削除された
  • (変更) トロッコのDisplayTileDisplayDataタグはDisplayStateタグに統合された
    • これからは{Name:"<ID>",Properties:{<プロパティ名>:"<値>"}}と書く
  • (変更) Falling BlocksのBlockDataタグはBlockStateタグに統合された
    • これからは{Name:"<ID>",Properties:{<プロパティ名>:"<値>"}}と書く
  • (変更) Area Effect CloudのParticleParams1ParticleParams2タグはParticleParamsタグに名前変更された

ブロックのNBTタグの追加・削除・変更まとめ

  • (削除) 花瓶のブロックエンティティとしてのデータが削除された (内容ごとにIDが割り振られたため)
  • (削除) 音符ブロックのブロックエンティティとしてのデータが削除された (NBTタグで指定していたことはブロックの状態欄に書くように)
  • (削除) ベッドのブロックエンティティとしてのデータが削除された (色ごとにIDが割り振られたため)
  • (変更) トラップチェストのブロックエンティティIDが、trapped_chestからminecraft:trapped_chestに変更された
  • (変更) ピストン移動部のブロックエンティティのBlockIdBlockDataタグがBlockStateタグに統合された
    • これからは{Name:"<ID>",Properties:{<プロパティ名>:"<値>"}}と書く
  • (削除) Mobの頭(Skull)のRotタグが削除された (ブロックの状態欄で[rotation=0-15]と書くように)
  • (削除) Mobの頭(Skull)のブロックエンティティとしてのデータが、player_headwall_player_head以外は削除された
  • (変更) Mobの頭(Skull)のブロックエンティティIDが、skullからminecraft:player_headに変更された
  • (変更) 旗のPatternsColorタグの数字が、一貫性のために順番が逆になった (例えば黒色は0ではなく15になった)
  • (変更) ジュークボックスのRecordタグが削除された

行動を計測するstatの書き方が変更された

  • minecraft.(stat名)minecraft.custom:minecraft:(stat名) に変更された
    • 例: minectaft:jumpminecraft.custom:minecraft:jump
  • minecraft.(stat名).(ID)minecraft.(stat名):minecraft.(ID) に変更された
    • 例: minectaft.craftItem.diamond_swordminecraft.crafted:minecraft.diamond_sword

新機能「データパック」が実装、知っておくべきことまとめ

  • 「データパック」は、pack.mcmetaファイルを直下に含むzipもしくはフォルダー
  • 複数のデータパックを同時に読み込むことができる。(もちろんデータパックは無くても良い)
「データパック」の作成手順/フォルダ構成/使い方
データパック作成解説
https://napoan.com/data-pack-perfect-guide/
  • データパックの場所や、実装方法は▲の記事を読んでね


データパックの実装に伴っていくつかのファイルは移動が必要に

  • 「データパック」の実装に伴い、進捗、ファンクション、Loot Table、ストラクチャーのファイルをデータパック内に移動する必要がある
  • データパックは/ワールドフォルダ/datapacks/パック名(.zip)/という風にワールドに添付する
    • zip圧縮してもしなくてもかまわない
  • (ワールド)/data/advancements/(名前空間)/(進捗ファイル)にある進捗ファイルは、データパックに入れてデータパックのzipまたはフォルダ/data/(名前空間)/advancements/(進捗ファイル)となるように移動する必要がある
  • (ワールド)/data/functions/(名前空間)/(ファンクションファイル)にあるファンクションファイルは、データパックに入れてデータパックのzipまたはフォルダ/data/(名前空間)/functions/(ファンクションファイル)となるように移動する必要がある
  • (ワールド)/data/loot_tables/(名前空間)/(LootTableファイル)にあるLootTableファイルは、データパックに入れてデータパックのzipまたはフォルダ/data/(名前空間)/loot_tables/(LootTableファイル)となるように移動する必要がある
  • (ワールド)/structures/(ストラクチャーファイル)にあるストラクチャーファイルは、データパックに入れてデータパックのzipまたはフォルダ/data/(名前空間)/structures/(ストラクチャーファイル)となるように移動する必要がある


カスタムレシピ機能実装、jsonでオリジナルレシピを作成可能に

  • JSONを書いてオリジナルレシピを作成できるようになった
  • ワールドフォルダ/datapacks/データパックフォルダー/data/(名前空間)/recipes フォルダ内にレシピのjsonフォルダを配置する
レシピのjsonファイルの書き方の例1 (無形レシピ)
{
    "type": "crafting_shapeless",
    "ingredients": [
        {
            "item": "minecraft:dirt"
        }
    ],
    "result": {
        "item": "minecraft:diamond"
    }
}
▲は、土からダイヤモンドができあがるレシピ。置き方は指定していない。
レシピのjsonファイルの書き方の例2 (有形レシピ)
{
    "type": "crafting_shaped",
    "pattern": [
        "###",
        "#^#",
        "###"
    ],
    "key": {
        "#": {
            "item": "minecraft:diamond_block"
        },
        "^": {
            "item": "minecraft:diamond"
        }
    },
    "result": {
        "item": "minecraft:nether_star"
    }
}
▲は、ダイヤモンドをダイヤブロックで囲むとネザースターができるレシピ。2つの記号を使って置き方を指定している。
レシピのjsonファイルの書き方の例3 (有形レシピ)
{
    "type": "crafting_shaped",
    "pattern": [
        "# #"
    ],
    "key": {
        "#": {
            "item": "minecraft:diamond"
        }
    },
    "result": {
        "item": "minecraft:emerald"
    }
}
▲は、1つ間を空けてダイヤモンドを置けばエメラルドができるレシピ。ダイヤ2つは作業台のどの段に置いても構わない。
レシピのjsonファイルの書き方の例4 (無形レシピ)
{
    "type": "crafting_shapeless",
    "ingredients": [
        {
            "item": "minecraft:dirt"
        },
        [
            {
                "item": "minecraft:coal"
            },
            {
                "item": "minecraft:charcoal"
            }
        ]
    ],
    "result": {
        "item": "minecraft:diamond"
    }
}
▲は、土と、石炭または木炭を1つでダイヤモンドができるレシピ。材料の中にさらに四角カッコを書くことで、様々な組み合わせでクラフトできるようになる
  • "type""crafting_chaped" にすれば有形レシピになり、"crafting_shapeless" にすれば無形レシピになる
  • 無形レシピの場合は、"ingredients"で素材を指定する
  • 有形レシピの場合、"pattern" で文字を使って置き方を示し、"key" で各文字に対応するアイテムを指定する
  • タグを指定する際は "item": "名前空間:ID" の代わりに "tag": "名前空間:タグ名" と書く
  • レシピファイルに "group": "任意のグループ名" と書けば、レシピのグループを設定できる
  • グループ名は何でもいい。同じグループ名のレシピがあれば、レシピブックでアイテムを右クリックした際にまとめて表示される

新機能「タグ」実装、ブロック・アイテム・ファンクションをまとめられる

  • 「タグ」は、ブロック・アイテム・ファンクションをまとめられる新機能
  • ワールドフォルダ/datapacks/データパックフォルダー/data/(名前空間)/tags フォルダ内に配置する
  • ブロック/アイテム/ファンクションのタグは、フォルダを分けて管理する
    • tags/blocks フォルダにはブロックのタグを入れる
    • tags/items フォルダにはアイテムのタグを入れる
    • tags/functions フォルダにはアイテムのタグを入れる
ブロックのタグのjsonファイルの書き方の例
{
  "replace": false,
  "values": [
    "minecraft:prismarine",
    "minecraft:prismarine_bricks",
    "minecraft:dark_prismarine",
    "minecraft:sea_lantern"
  ]
}
例えばこのファイルをdata/napoan/tags/blocks/sea_blocks.jsonとして保存すれば、#napoan:sea_blocksでプリズマリン、プリズマリンレンガ、ダークプリズマリン、シーランタンをまとめて指定できるようになる
  • タグはjson形式で書き、.json拡張子で保存する
  • デフォルトでは、他のデータパックに同じ名前のタグファイルが複数ある場合、内容が合成される
  • しかし "replace": true と書けば、それより優先度の低いデータパックのタグが上書きされる
  • "values": [] の中に、タグにまとめるブロック/アイテムのIDやファンクションの場所を書く
  • タグにまとめたブロック/アイテムを指定する際は、先頭にハッシュを付け#(名前空間):(タグ名) の形で指定する
  • ただしカスタムレシピまたは進捗のファイル内で指定する際"tag": "(名前空間):(タグ名)" の形で指定する
  • data/minecraft/tags/functions/tick.json に書いたファンクションは、毎tick実行される
  • 言い換えれば、minecraft:tick にタグ付けされたファンクションは毎tick実行される
  • ブロックのタグとして、デフォルトで以下が用意されている:
    • minecraft:buttons
    • minecraft:carpets
    • minecraft:doors
    • minecraft:enderman_holdable
    • minecraft:flower_pots
    • minecraft:logs
    • minecraft:planks
    • minecraft:saplings
    • minecraft:stone_bricks
    • minecraft:wooden_buttons
    • minecraft:wooden_doors
    • minecraft:wool
  • アイテムのタグとして、デフォルトで以下が用意されている:
    • minecraft:buttons
    • minecraft:carpets
    • minecraft:doors
    • minecraft:logs
    • minecraft:planks
    • minecraft:saplings
    • minecraft:stone_bricks
    • minecraft:wooden_buttons
    • minecraft:wooden_doors
    • minecraft:wool


様々なコマンドの変更・改善点

advancementコマンド

  • /advancement test 機能は削除された
  • ターゲットセレクタ引数で進捗を条件にできるようになったため

blockdataコマンド

  • dataコマンドの登場に従い廃止された

clearコマンド

  • データ値が廃止され、アイテムID・ブロックIDにくっつけてNBTタグを指定できるようになったので、構文が変更された
    • /clear [<ターゲット>] [アイテム] [データ値] [数量] [NBTタグ]/clear [<ターゲット>] [アイテム] [数量]

cloneコマンド

  • ブロックの指定方法の変更に伴い、cloneコマンドの構文が変更された。
  • /clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> filtered [force|move|normal] <ブロックID> <データ値>/clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> filtered <ブロック> [force|move|normal]
  • /clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> [replace|masked] [force|move|normal] <ブロックID> <データ値>/clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> [replace|masked] [force|move|normal]
  • ▲に従って、既存のcloneコマンドは全て書き直す必要がある。

dataコマンド

  • 新コマンド/dataが実装された
  • /entitydata コマンドと /blockdata コマンドがこれに置き換えられた
  • /data merge entity <ターゲット> <NBT> : 指定したターゲットにNBTを合成する。かつての/entitydataコマンドと同じ動作をする
  • /data merge block <座標> <NBT> : 指定したブロックにNBTを合成する。かつての/blockdataコマンドと同じ動作をする
  • /data get entity <ターゲット> : 指定したターゲットの全NBTタグを表示する
  • /data get block <座標> : 指定したブロックの全NBTタグを表示する
  • /data get entity <ターゲット> <NBTの種類> <倍率> : 指定したターゲットの、指定したNBTを、指定した倍率をかけて取得する。倍率はデフォルトで1
  • /data get block <座標> <NBTの種類> <倍率> : 指定したブロックの、指定したNBTを、指定した倍率をかけて取得する。倍率はデフォルトで1
  • <NBTの種類>A.B.C[0] のように書く。この場合指定したターゲットの {A:{B:{C:[114,514]}}} の114が取得できる
  • ドットでNBTタグの親子関係を指定し、[]でNBT内の要素を指定する
    • Inventory[0].Count{Inventory:[{Count:1}]}1を取得できる
  • 上手く使って、NBTタグを自在に取得して活用しよう!

datapackコマンド

  • 新コマンド/datapackが実装された
  • 指定したデータパックを無効化したり、優先順位を指定して有効化できる
  • なお、データパックはデフォルトでは全て有効なものとして読み込まれる
  • /datapack disable <データパック名> : 指定したデータパックを無効化する
  • /datapack enable <データパック名> : 指定したデータパックを有効化する
  • /datapack enable <データパック名> first : 指定したデータパックを最低の優先順位で有効化する
  • /datapack enable <データパック名> last : 指定したデータパックを最高の優先順位で有効化する
  • /datapack enable <データパック名> before <基準になる既存のデータパック名> : 指定したデータパックを、指定した既存のデータパックよりひとつ低い優先順位で有効化する
  • /datapack enable <データパック名> after <基準になる既存のデータパック名> : 指定したデータパックを、指定した既存のデータパックよりひとつ高い優先順位で有効化する

difficultyコマンド

  • difficultyコマンドで難易度を指定する際、数字や略称が使えなくなった
  • /difficulty 2/difficulty normal
  • /difficulty p/difficulty peaceful
  • ▲に従って、数字や略称を使っているdifficultyコマンドは書き直す必要がある。

defaultgamemode/gamemodeコマンド

  • gamemodeコマンド・defaultgamemodeコマンドでゲームモードを指定する際、数字や略称が使えなくなった
  • /gamemode 1/gamemode creative
  • /defaultgamemode sp/defaultgamemode spectator
  • ▲に従って、数字や略称を使っているgamemodeコマンド・defaultgamemodeコマンドは書き直す必要がある。

effectコマンド

  • effectコマンドの構文が、曖昧さを無くすために2種類に分かれた
  • /effect <entity> <effect>/effect give <entity> <effect>
  • /effect <entity> clear/effect clear <entity> [<effect>]
  • ▲に従って、既存のeffectコマンドは全て書き直す必要がある。

enchantコマンド

  • /enchantコマンドが廃止された
  • これからは新コマンドの「/modifyitem」を使おう、ということになっているが、17w45aにはまだmodifyitemコマンドが実装されていない

entitydataコマンド

  • 廃止された

executeコマンド

  • executeコマンドの構文が大幅に変更された。従来のexecuteコマンドは全て書き換える必要がある。
  • /executeの後に書く「サブコマンド」が複数追加された。
    • コマンドの実行者を決める「as」
    • コマンドの実行座標を決める「positioned」
    • 角度を決める「rotated」
    • 向きを決める「facing」
    • ディメンションを決める「in」
    • 実行者と位置と向きとディメンションを決める「at」
    • 向き相対座標やfacingの基準を決める「anchored」
    • 実行座標の小数点以下を切り捨てる「align」
    • 実行に必要なブロックを指定する「block」
    • 実行に必要な合致するブロックの範囲を指定する「blocks」
    • 実行に必要なエンティティを指定する「entity」
    • 2つのターゲットのスコアを比較する「score」
    • 実行結果を代入する「store」
  • これらを組み合わせて書いた後、「run」と書いて、最終的に実行するコマンドを書く。

executeコマンドの新しい構文
/execute <サブコマンド> <サブコマンドのオプション> [サブコマンド] [サブコマンドのオプション] ... run <コマンド>

実行者を指定する「as」サブコマンド

  • /execute as <エンティティ> run <コマンド> → 指定したエンティティ"として"コマンドを実行する (実行者が変わるが、向き、実行位置は変わらない)

実行位置を指定する「positioned」サブコマンド

  • /execute positioned <x y z> run <コマンド> → 指定した座標でコマンドを実行する
  • /execute positioned as <エンティティ> run <コマンド> → 指定したエンティティの"位置で" コマンドを実行する
  • どちらも実行者、向きは変わらず、実行位置が変わる
  • 例: /execute as @e[tag=foo] positioned -11 45 14 run say Hello! (fooタグが付いたエンティティが、(-11,45,14)で「Hello!」と言う)

角度・向きを指定する「rotated」サブコマンド

  • /execute rotated <y軸の回転> <x軸の回転> run <コマンド> → 指定した角度を向いているものとしてコマンドを実行する
  • /execute rotated as <エンティティ> (eyes|feet) run <コマンド> → 指定したエンティティのほうを向いているものとしてコマンドを実行する
  • どちらも実行者、実行位置は変わらず、角度・向きが変わる
  • 例: /execute as @e[tag=foo] rotated as entity @e[tag=bar] run tp ^ ^ ^3 (fooタグが付いたエンティティが、barタグが付いたエンティティを向いて前に3m動く)

向きを指定する「facing」サブコマンド

  • /execute facing <x y z> run <コマンド> → 指定した座標を向いているものとしてコマンドを実行する
  • /execute facing entity <エンティティ> (eyes|feet) run <コマンド> → 指定したエンティティの、目または足のほうを向いているものとしてコマンドを実行する
  • どちらも実行者、実行位置は変わらず、向きが変わる
  • 例: /execute as @e[tag=foo] facing -11 45 14 run tp ^ ^ ^3 (fooタグが付いたエンティティが、(-11,45,14)を向いて前に3m動く)

実行するディメンションを指定する「in」サブコマンド

  • /execute in (overworld|the_end|the_nether) run <コマンド> → 指定したディメンションでコマンドを実行する
  • 例: /execute in the_nether run tp @a[team=Red] 0 64 100 (Redチームのプレイヤー全員が、ネザーの(0,64,100)に移動する)
  • この機能のおかげで、ディメンションをまたいでテレポートしたりできるようになった。大革命だ

実行者と実行位置と向きとディメンションを全部指定する「at」サブコマンド

  • asは実行者、positionedは位置、rotated/facingは向き、inはディメンションを指定するが、それら全てを一気に決めるのがatサブコマンドだ
  • 従来のexecuteコマンドを移植するなら、これに書き換えるのが手っ取り早い
  • 例: /execute @e[tag=foo] ~ ~ ~ say Hello!/execute at @e[tag=foo] run say Hello! (fooタグが付いたエンティティが、今いる位置の今の向きのままで、今のディメンションのまま「Hello!」と言う)

向き相対座標の基準を指定する「anchored」サブコマンド

  • anchored (eyes|feet)サブコマンドを使えば、向き相対座標の基準を指定できる
  • 例えば anchored feet と書けば、そのコマンドでは足を基準に向き相対座標やfacing機能を使った際の位置が決定する

実行位置の座標を整数にする「align」サブコマンド

  • align <axis>サブコマンドを使えば、指定した軸の座標を整数に直してくれる
  • 例えば /execute positioned as <entity>... だと<entity>の位置でコマンドが実行されるが、エンティティの位置によって実行位置はx=114.5,y=148.1,z=0.931のような小数になることが多いはずだ。この座標を整数にしたい場合にalignサブコマンドが役に立つ。
  • /execute align xz ... と書けば、x座標とz座標の値が小数点以下を切り捨てて整数に直される
    • 例えば実行位置がx=-1.8,y=2.3,z=5.9の場合にalign xと書けば、実行位置はx=-2,y=2.3,z=5.9になる
    • 例えば実行位置がx=2.4,y=-1.1,z=3.8の場合にalign xyzと書けば、実行位置はx=2,y=-2,z=3になる

testforblock/testforblocks/testforコマンドの代わりになる「block」「blocks」「entity」「score」サブコマンド

  • 以下のサブコマンドは、ifまたはunlessを最初に書いて使う
  • ifを書いた場合は後続の条件に合えば実行され、unlessを書いた場合は条件に合わなければ実行される
  • /execute <if|unless> block <x y z> <ブロックID> run <コマンド> → 指定した座標に指定したブロックがあれば(unlessと書いた場合なければ)実行する (testforblockコマンドやdetect機能に代わる機能)
  • /execute <if|unless> blocks <範囲の始点のx y z> <範囲の終点ののx y z> <比較先のx y z> (all|masked) run <コマンド> → 指定した範囲が比較先に合致すれば(unlessと書いた場合合致しなければ) 実行する (testforblocksコマンドに代わる機能)
  • /execute <if|unless> entity <エンティティ> run <コマンド> → 指定したエンティティが存在すれば(unlessと書いた場合存在しなければ)実行する (testforコマンドに代わる機能)

  • 例: /execute @e ~ ~ ~ detect ~ ~ ~ stone say 石がある!/execute at @e if block ~ ~ ~ stone run say 石がある! (エンティティが、その位置に石があれば「石がある!」と言う)
  • 例: /execute @e[tag=bar] ~ ~ ~ detect ~ ~ ~ grass summon pig/execute positioned as @e[tag=bar] if block ~ ~ ~ grass run summon pig (コマンド実行者が、その場に草ブロックがあるbarタグが付いたエンティティの位置でブタを召喚する)
  • 例: /execute as @a[tag=summoner] positioned as @e[tag=a] if entity @e[tag=b,distance=..5] run summon pig (summonerタグが付いたプレイヤーが、aタグが付いたエンティティの位置で、半径5ブロック以内にbタグが付いたエンティティが存在すれば、ブタを召喚する)

スコアボードの値を比較する「score」サブコマンド

  • このサブコマンドもiffまたはunlessが必要
  • <if|unless> score <ターゲット> <オブジェクト> (<|<=|=|>=|>) <比較するターゲット> <比較するオブジェクト> : 指定したターゲットのオブジェクトの値と、比較するターゲットのオブジェクトの値を比較する
  • <if|unless> score <ターゲット> <オブジェクト> matches <数値の範囲> : 指定したターゲットのオブジェクトの値が指定した範囲にあるか調べる。
    • <数値の範囲>には単に数字を書いてもいいし、1..5という風に書けば範囲を指定できる
    • 例: /execute if score napoan test > napoan2 test as napoan run say 俺の勝ち! : napoanのtestの値がnapoan2のtestの値より大きければ、napoanが「俺の勝ち!」と言う
    • 例: /execute if score napoan test matches 2..4 as napoan run say 俺の勝ち! : napoanのtestの値が2~4ならば、napoanが「俺の勝ち!」と言う

    statsコマンドに代わる「store」サブコマンド

    • store (success|result) score <ターゲット> <オブジェクト> → コマンドの実行結果を指定したターゲットの指定したスコアボードオブジェクトに代入する
    • store (success|result) entity <ターゲット> <NBTの種類> <byte|double|float|int|long|short> <倍率> → コマンドの実行結果を、指定したターゲットの指定したNBTに指定した型で指定した倍率をかけて代入する
    • store (success|result) block <座標> <NBTの種類> <byte|double|float|int|long|short> <倍率> → コマンドの実行結果を、指定したブロックの指定したNBTに指定した型で指定した倍率をかけて代入する
    • <NBTの種類>A.B.C[0] のように書く。この場合指定したターゲットの {A:{B:{C:[114,514]}}}114が取得できる
    • ドットでNBTタグの親子関係を指定し、[]でNBT内の要素を指定する
      • Inventory[0].Count{Inventory:[{Count:1}]}1を取得できる
    • result は従来の AffectedBlocks, AffectedEntities, AffectedItems, QueryResult が統合されたもの
    • successコマンドが成功した回数。通常は0か1だが、executeコマンドのasモードを使った際など、コマンドが分割されている場合は2以上になり得る
    • スコアボードに代入する場合、オブジェクトが存在する必要があるが、statsコマンドとは違い初期の値を代入しておく必要はない(作成してすぐ代入できる)
    • コマンドが完全に実行し終わった時に値が代入される
    • コマンドの実行に失敗し、successが0になった時は、resultも0になる
    • 例: /execute as @e[tag=foo] at @e[tag=boo] if entity @e[tag=bar,distance=..5] store result score @a[tag=player] obj1 run kill @e[tag=enemy,distance=..5] (fooタグが付いたエンティティが、booタグが付いたエンティティの位置で、barタグが付いたエンティティが半径5ブロック以内に存在すれば、「半径5ブロック以内のenemyタグが付いたエンティティをキル」し、その結果をplayerタグが付いたプレイヤーの"obj1"に代入する)

    experienceコマンド

    • /xpコマンドは、新しい/experienceコマンドのエイリアス(代替)になった
      • tellの代わりにmsgが使えるような関係
    • /experienceコマンドは、3つのモードから構成されている
    • /experience add <players> <amount> [points|levels]
      • <amount>の分だけの経験値ポイントもしくはレベルを<players>追加で与える(デフォルトではポイントを与える)
      • ポイントを与えた場合でも、普通にプレイヤーをレベルアップさせることはできる
      • マイナスの値を書くこともでき、書いた場合経験値を減らす
      • 経験値を減らしてレベルダウンさせることもできる
    • /experience set <players> <amount> [points|levels]
      • <players>の経験値ポイントまたはレベルを、<amount>の値にセットする。(デフォルトではポイントを指定する)
      • ターゲットの現在のレベルでは不可能なポイントにセットすることはできない
      • レベルを変更した場合、経験値ポイントのパーセンテージは前のレベルと同じに保たれる
    • /experience query <player> (points|levels)
      • <player>の経験値ポイントかレベルの値を取得する

    fillコマンド

    • ブロックの指定方法の変更に伴い、fillコマンドの構文が変更された
    • /fill <x y z> <xt yt zt> <ブロックID> <データ値> replace [置換するブロックのID] [置換するブロックのデータ値]/fill <x y z> <xt yt zt> <ブロック> replace [置換するブロック]
    • /fill <x y z> <xt yt zt> <ブロックID> <データ値> [destroy|hollow|keep|outline|replace] [NBTタグ]/fill <x y z> <xt yt zt> <ブロック> [destroy|hollow|keep|outline|replace]
    • ▲に従って、既存のfillコマンドは全て書き直す必要がある。

    gameruleコマンド

    • gameruleコマンドは、不明なゲームルールをサポートしなくなった(いわゆる"カスタムゲームルール")
      • ミスタイプが公式のルールのように動作してしまい、カスタムゲームルール機能が多くのトラブルをもたらしていた
      • カスタムゲームルールはエラーになりやすく、使いづらかった
      • 代わりにfunctionやscoreboardを使えば機能を減らさずに実現できる(実際はこっちのほうが色々なことができる!)
      • 既存のカスタムゲームルールは使えなくなり、公式のゲームルールのみ使えるようになった
    • gameLoopFunction ルールは削除された
    • 代わりに、datapacks/データパック名/data/minecraft/tags/functions/tick.jsonに毎tick実行したいファンクションを書く
    tick.jsonの書き方
    以下のように書くと、data/napoan/functions/system/start.mcfunctiondata/napoan/functions/system/magic_item.mcfunctiondata/napoan/functions/event/boss.mcfunction が毎tick実行される
    {
      "values": [
        "napoan:system/start",
        "napoan:system/magic_item",
        "napoan:event/boss"
      ]
    }


    giveコマンド

    • データ値が廃止され、アイテムID・ブロックIDにくっつけてNBTタグを指定できるようになったので、構文が変更された
      • /give <プレイヤー> <アイテム> [数量] [データ値] [NBTタグ]/give <プレイヤー> <アイテム> [数量]
    • 例: /give @p minecraft:diamond 1 0 {Display:{Name:"だいや"}}/give @p minecraft:diamond{display:{Name:"だいや"}} 1

    replaceitemコマンド

    • データ値が廃止され、アイテムID・ブロックIDにくっつけてNBTタグを指定できるようになったため、構文が変更された
      • /replaceitem block <座標> <スロット> <アイテム> [数量] [データ値] [NBTタグ]/replaceitem block <座標> <スロット> <アイテム> [数量]
    • replaceitemコマンドでスロットを指定する際、スロット名の先頭に書いていたslot.は必要無くなった
      • 例えば、以前の slot.hotbar.1hotbar.1 と書く

    killコマンド

    • これからは/kill」だけ書いて実行するとエラーになる
    • なぜならプレイヤーが実行する場合もターゲット指定が必須になったから
    • 自分をキルしたい場合は /kill @s を実行しよう

    locateコマンド

    • 高さが取得できない構造物で、返されるy座標が「?」の代わりに「64」になった
    • executeコマンドのstoreサブコマンドで結果を代入する際に、構造物までの絶対距離を代入するようになった

    functionコマンド

    • functionコマンドのif/unless引数は廃止された。
    • 代わりに、executeコマンドのif/unless機能を使えばいい
    • /function foo if @e[tag=bar]/execute if entity @e[tag=bar] then function foo

    particleコマンド

    • particleコマンドのparams引数は廃止された。
    • 例えばblock(旧blockdust/blockcrack)パーティクルでブロックの種類を指定する際は、パーティクル名の後に続けてIDを入力する
      • 例: /particle blockcrack minecraft:polished_granite ~ ~ ~ 0 0 0 1 100
    • また、以下のパーティクルの名前が変更された
      • mobspellambient -> ambient_entity_effect
      • angryvillager -> angry_villager
      • blockdust, blockcrack -> block
      • damageindicator -> damage_indicator
      • dragonbreath -> dragon_breath
      • driplava -> dripping_lava
      • dripwater -> dripping_water
      • reddust -> dust
      • spell -> effect
      • mobappearance -> elder_guardian
      • enchantmenttable -> enchant
      • magiccrit -> enchanted_hit
      • endrod -> end_rod
      • mobspell -> entity_effect
      • largeexplosion -> explosion
      • hugeexplosion -> explosion_emmiter
      • fallingdust -> falling_dust
      • fireworksspark -> firework
      • wake -> fishing
      • happyvillager -> happy_villager
      • instantspell -> instant_effect
      • iconcrack -> item
      • slime -> item_slime
      • snowballpoof -> item_snowball
      • largesmoke -> large_smoke
      • townaura -> mycelium
      • explode -> poof
      • droplet -> rain
      • sweepattack -> sweep_attack
      • totem -> totem_of_undying
      • suspended -> underwater
      • witchmagic -> witch
      • take -> 削除された
      • footstep -> 削除された
      • depthsuspend -> 削除された

    playsoundコマンド

    • Tabキーでサウンドイベント名を自動補完できるようになった

    statsコマンド

    • statsコマンドは廃止された。
    • 代わりにexecuteコマンドのstoreモードを使おう。

    stopsoundコマンド

    • stopsoundコマンドで、カテゴリの代わりに*を書けばカテゴリに関係無くサウンドを停止可能に
    • 例: stopsound @a * oto : 全カテゴリの「oto」というサウンドイベントを停止

    scoreboardコマンド

    • scoreboardコマンド内の、tagteam機能は廃止された。
    • 代わりに独立したコマンドとして/tag/teamコマンドが追加された
    • またscoreboardコマンドの末尾にNBTタグを書くとエラーになるように。これからはNBTタグはターゲットセレクタ内に書く

    setblockコマンド

    • データ値が廃止され、アイテムID・ブロックIDにくっつけてNBTタグを指定できるようになったので、構文が変更された
      • /setblock <座標> <ブロック> [データ値] [モード] [NBTタグ]/setblock <座標> <ブロック> [モード]

    tagコマンド

    • 新コマンド/tagが実装された
    • scoreboardコマンドのtag機能を抜き出したもの
    • 構文は以前のtag機能と同じ
      • /tag <プレイヤー> add <タグ名> : プレイヤーにタグを追加する
      • /tag <プレイヤー> remove <タグ名> : プレイヤーの指定したタグを削除する
      • /tag <プレイヤー> list : 指定したプレイヤーに付いているタグ一覧を表示する

    teamコマンド

    • 新コマンド/teamが実装された
    • scoreboardコマンドのteam機能を抜き出したもの
    • 構文は以前のtag機能と同じ
      • /team add <チーム名> [チームの表示名] : 新しいチームを追加する
      • /team empty <チーム名> : 指定したチームの全てのエンティティを脱退させる
      • /team join <チーム名> [エンティティ] : 指定したエンティティをチームに参加させる。エンティティを指定しない場合はコマンド実行者が参加する
      • /team leave <チーム名> [エンティティ] : 指定したエンティティをチームから脱退させる。エンティティを指定しない場合はコマンド実行者が脱退する
      • /team list [チーム名] : チーム一覧を表示する。チームを指定した場合はそのチームに在籍するメンバー一覧を表示する
      • /team option <チーム名> <オプション> <オプション> : 指定したチームのオプションを編集する (当たり判定など)

    teleportコマンド

    • 構文がシンプルにまとめられた
    • /teleport <テレポート先エンティティ> → 実行者が指定したエンティティの位置へ移動する。回転や向きの指定はできない
    • /teleport <x y z> → 実行者が指定した座標へ移動する。回転や向きの指定はできない
    • /teleport <ターゲット> <テレポート先エンティティ> → 指定したエンティティが指定したエンティティの位置へ移動する。回転や向きの指定はできない
    • /teleport <ターゲット> <x y z> [yRot xRot] → 指定したエンティティが指定した座標へ移動する。さらに、回転角度の指定もできる
    • /teleport <ターゲット> <x y z> facing [x y z] → 指定したエンティティが指定した座標へ移動する。さらに、向きの指定もできる
    • /teleport <ターゲット> <x y z> facing entity <向くエンティティ> [feet|eyes] → 指定したエンティティが指定した座標へ移動する。さらに、向くエンティティの指定もでき、目と足どちらを向くか選択可能
    • ついにディメンションをまたいでテレポートできるようになった。詳細はexecuteコマンドの節を参照

    testfor/testforblock/testforblocksコマンド

    • executeコマンドにentity/block/blocks機能が実装されたことにより、testfor/testforblock/testforblocksコマンドは廃止された

    timeコマンド

    • /time setにspan class="command-highlight">/time setとmidnightの選択肢が追加された

    toggledownfallコマンド

    • toggledownfallコマンドは廃止された。
    • 代わりにweatherコマンドを使おう

    tpコマンド

    • tpコマンドはteleportコマンドのエイリアスになった。
    • エイリアスとは、tellコマンドに対するwコマンドやmsgコマンドのこと。機能が同じだけどコマンド名を色々用意してあるよということ。
    • tpコマンドの構文はそのまま残されるが、挙動はteleportコマンドと同じになる。つまりtpコマンドでも、テレポートするエンティティではなく、コマンド実行者を基準に座標を設定するようになる。
    • バージョン1.13で、コマンドブロックから/tp napoan ~ ~10 ~を実行すると、「その場から10ブロック上」ではなく「実行元のコマンドブロックから10ブロック上」にテレポートする。
      • 「その場から」テレポートさせたい場合はexecuteコマンドのasモードを併用しよう

    triggerコマンド

    • /trigger コマンドで、/trigger <オブジェクト> add 1 の代わりに /trigger <オブジェクト> と書けば、add 1を書かなくてもスコアを1だけ増やしてくれるようになった
    • triggerコマンドは、スコアボードの値を変更する権限がないプレイヤーに1度だけスコアを変更させるコマンド。詳しい使い方はこちらで解説している

    weatherコマンド

    • これまでweatherコマンドの末尾に時間を書かない場合はランダムな長さで天候が変更されていたが、これからは「5分間」に固定される



    コマンドに関する総合的な変更・改善点

    コマンドがより大文字小文字を区別するように、できるだけ小文字で書こう

    • コマンドはよりケースセンシティブになり、大文字と小文字が厳しく区別されるようになる
    • 例えば、/scoreboard ObJeCtIvEs ...と書くとエラーになる。スコア名など以外は、全部小文字で書こう

    コマンドの動作が高速で効率的に

    • コマンドはより高速で効率的に動作するようになる
    • ファンクション内のコマンドは特に。やばいね!

    ファンクションの読み込み時にコマンドの不備が分かるように

    「ファンクション」システムの解説
    function解説
    https://napoan.com/pc-112-functions-guide/
    • ファンクションは読み込み時に完全に分割され、キャッシュされる。
    • つまり、ファンクションの読み込み時に、ファンクション内のコマンドの不備が分かる。
      • 例えばバージョン1.17.バナナでワールドが動くか確認したい時は、1.17.バナナでワールドを開けばいい。エラーがあればログに表示される。エラーがなければ、多分大丈夫だ!

    サーバーのコマンドは通常世界の初期スポーン地点から実行されるように

    • functionやコンソールから実行するコマンドは、通常世界の初期スポーン地点で実行されるようになった

    コマンドブロックの仕様変更、success countがresultに

    • コマンドブロックの出力信号は今まで「success count」だったが、「result」になった

    スポンサーリンク

毎度毎度ツイート、コメント等ありがとうございます。Twitterではブログの更新状況など色々呟いてます。気軽にフォロー下さい。

スポンサーリンク

コメント

  • show_you1205

    あーあ、また誰か、「1.12までのコマンドを1.13仕様に書き換えるツール」とか、作ってくれないかな~

    • うんこ

      うんこ

      • vO

        ウ ン チ ー コ ン グって知ってる?

      • 松原悠樹

        ウ ン チ ー コ ン グって知ってる?(de javu)

  • かずまっちz@配布ワールド進歩1%

    @e[x=11.4,y=51.4,z=8.1,dx=0.9,dz=3.1,r=19.19] 臭すぎるからナポアンをぶっ壊す()

  • function厨ワイ歓喜

  • でんでん (Minecraft ID:denden0816)

    1.10から1.11になった時に,
    /summon EntityHorse ~ ~ ~ {} を
    /summon horse ~ ~ ~ {} に
    直すのがめんどくさくて
    1.11に移行するのはやめたけど,実際に1.11をやってみると楽しい。
    1.13も同じかもね。コマンドやfunction,structuresをファイル移動するのがめんどいけど,実際やってみる(正式版)と自動的に修正する機能が追加されるかもね。
    Minecraftは低クオリティーのゲームではない。高クオリティー,いやエキストラクオリティーだ。
    最初(Pre 0.0.9a,rd-132211)はつまんなかったが今じゃハマっている人も多い。
    エキストラの上を行けばそんなこと(自動的に修正する機能)ができるかも⁉

  • a

    gamemodeに数字ダメとか嘘だろ…
    あれかなり便利だったのになくなるとか辛い

    • ななみり@Malb

      すなっぷしょっとやってみると
      補完がかなーり楽になってるから
      慣れれば割と楽になるのかも

  • ジャンプ@しぇろ

    エフェクトコマンドを…全て…書き直す…?(終わりが見えないんだがww)

  • dzが削除されているのはz=に..が使えるからでは?

  • かずまっちz@配布ワールド進歩1%

    functionコマンドのところにthen抜けてますよ

    • ご指摘ありがとうございます。修正しました。

  • 異常成長した小豆

    公式マイクラWiki(英語版)の「1.13」のページにあった“The output signal of a command block used to be its “success count", but now will be its “result".” って、「Java版1.13のコマンド・配布ワールド制作に関する変更点まとめ」に関係ありますかね…(語彙力)

  • 内本貴代美

    Scoreboardコマンドが変わらないのが唯一の救い

  • パープルの実況チャンネル!

    色々難しくなる所もありますが、name内のスペースはいいですねぇ

  • まるどる

    なんだか大変な作業になりそう

  • Zirconium Dia

    バナナ…

  • 総七日

    仕様が変わっちゃうんだね。しようがないね。

  • ツートン

    変数をバナナにする発想に脱帽しかない

  • NBTセレクターはべんりやもしれぬ

  • morioka

    tagが…うまく機能しない.

  • goddy

    x,y,z,distance,x_rotation,y_rotation引数がdouble型になり小数が使えるように
    のところの例にあるdistance=19.19には..が必要ではないのですか?..がない場合だとどのように動作するのでしょうか?

    • ゴーディー

      勘違いでした。すみません。

  • scoreセレクターがエラー…だ、と!?

  • otter

    triggerコマンドの解説記事が404になってます

  • ブラック

    tp ~ ~ ~等のその場tpをするときに速度が0になるのが本当に使いずらいのだがこれはそのままなのかな…
    向きだけ変えるときにすごく不便

  • あき

    コマブロ内でスコアボードに0をセットすると次のチェーンブロックが反応しなくなるのはバグ?
    コマブロ     : /scoreboard players set @p hoge 0
    チェーンコマブロ : say 1
    ↑ say 1が反応しない

    コマブロでセットするスコア値が1とかであればsay されるんだけど

    • aekae akefam

      インパルスコマンドブロックの向きは鎖(チェーン)コマンドブロックのほうに向いてる?

      • あき

        コマブロの出力がresultに変更されたことによってスコアボードで0をセットするとresultが0になるから次が反応しないらしい

        • aekae akefam

          いまさっきやってみたけど普通にsayされたけど?
          実行結果:
          プレイヤー (俺の名前) の hoge のスコアを 0 に設定しました
          [@] 1

          • あき

            まじですかい
            Versionは何で確認しました?
            17w43bは出来たけどそれ以降は出来ないのを確認ずみよ

  • mirror.jp

    /execute as @a run tp @a ^ ^ ^3
    これをコマンドブロックで実行するとコマンドブロックからプレイヤーの向いてる方向に指定したブロックテレポートしてしまいます。
    atに変えた場合も、An entity is required to run this command hereエンティティはここでこのコマンドを実行する必要があります。
    と、なってしまいできません。
    コマンドブロックを使用して「指定したエンティティを向いている方向に指定したブロック分テレポートさせる」にはどうすればいいでしょう。
    ちなみに17w50aです。

    • ブラック

      全てのエンティティの向きを対象にその場からtpさせるということなら
      /execute as @e at @e run tp @s[distance=0] ^ ^ ^1
      でできます
      指定はas/at @e[name=a]などを使えばいいと思います

  • ルーシェ

    以前からのスコアのセレクターは"score_a=5″とか"score_a_min=1″でしたが、"scores={a=1..5}"というように変わったらしいですよ。

    • score_a=1..5 です。記事内に新しい記述方法を書いてありますのでご確認ください

      • ルーシェ

        英wikiの1.13の「変更要素」の「コマンド」の中の「ターゲットセレクター」の33文目に「スコアの指定が scores={foo=1,bar=1..5} のようになる」というように書いてありますよ。

  • zZjurijuirZz

    は A.B.C[0] のように書く。この場合指定したターゲットの {A:{B:{C:[114,514]}}} の114が取得できる
    {A:{B:{C:[114,514]}}} の114が取得できる
    114,514
    114514
    ( ゚д゚)ハッ!

  • loverappy

    相対でTPをやってみたんですが、/tp @p ^ ^ ^2 でやると前が同じ高さのブロックでも体まで埋まります。/tp @p ^ ^2.2 ^2 から埋まらなくなったので大分ずれがあるようです

    • 冷めた鰹節の出汁(らび)

      すいません体が向いている方向だと思ってました。顔が向いている方向でした。(loverappy)

  • おさかな

    えっと…ローカル座標の書き方で、
    ^左 ^上 ^前 とはどういうことでしょうか?

    • ローカル座標は、プレイヤーなら視点の向きが基準になります。
      例えば /tp @s ^ ^ ^2 を実行すれば、実行者が向いている向きを基準に、「前」に2メートル移動します。向きはその都度変わるので、例えば銃の弾を飛ばしたりする時に使います。

  • ぴなど

    TAB補完が使えない助けて