トップ記事

どうもArgonです。
ここでは主にMinecraftのコマンドや、コマンド生成ツール「McCmd」について書いています。

HP「Argon's Test World」を開設しました!!(2014:03/11)

【1.7.x】コマンド生成ツール『McCmd』 (Ver,1.40)
↑作れるコマンドは「/give」、「/summon」、「/setblock」、「/tellraw」の4種類です。
McCmd Wiki:解説ページもあります。

ミニゲームMAP「R&F -Run&Fall-」(Ver,1.10)(Snapshot14w10a)
天空アスレチックMAP「SKY Action」(Ver,1.20)



<テクニック(フォーラム)>
【1.7.x】コマンドブロック式TNTキャノン【/summon】
【1.7.x】ボタンを押すと一定時間出現するブロック【/setblock】
【既出?】scoreboardを使ったレッドストーン回路のワイヤレス化

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【1.8】1.8追加のコマンド【9/6更新】

どうも、Argonです。
今回は1.8でコマンドがけっこう増えたので、それらの紹介記事を書きたいと思います。


【目次】
/blockdata
/clone
/fill
/particle
/trigger
/execute
/testforblocks
/worldborder
/title
/replaceitem
/stats
/entitydata


【更新履歴】
09/04:記事公開(/blockdata~/execute)
09/05:4つコマンドを追加(/testforblocks~/replaceitem)
09/06:2つコマンドを追加(/stats~/entitydata)



/blockdata 14w02a追加
指定したブロック(TileEntity)のデータタグを設定するコマンド。
例えば、チェストの名前や中身、コマンドブロックのコマンドなどを変更できる。
応用でその座標のブロックの持つデータタグを調べることもできる。

記述形式
/blockdata <x> <y> <z> <dataTag>
<x><y><z>
データタグを設定するブロックの座標。
<dataTag>
設定するデータタグ。

(例1)1つ上にあるチェストの名前を「箱」にする。
/blockdata ~ ~1 ~ {CustomName:"箱"}
(例2)1つ下にあるブロックのデータタグを調べる。
/blockdata ~ ~-1 ~ {:}


/clone 14w03a追加
指定した範囲内のブロックをコピーするコマンド。

記述形式
/clone <x1> <y1> <z1> <x2> <y2> <z2> <x> <y> <z> [mode] [mode2] [TileName]
<x1><y1><z1><x2><y2><z2>
コピー元となるブロックの範囲の支点。
(x1,y1,z1)~(x2,y2,z2)の範囲のブロックをコピー元にする。
<x><y><z>
コピー先の北西方向の下の座標。
[mode]
コピーする設定。デフォルトがreplace
filtered :コピー元の範囲内の[TileName]で指定したブロックのみを、コピー先にコピーする。
masked :コピー元の範囲内の空気ブロックを除くすべてのブロックを、コピー先にコピーする。
replace :コピー元の範囲内の空気ブロックを含むすべてのブロックを、コピー先にコピーする。
[mode2]
コピーする設定。デフォルトがnormal
force :コピー先の範囲がコピー元の範囲に入っていても、強制的にコピーする(※1)。
move :コピー元の範囲のブロックをコピー先に移動する。
normal :[mode]をfilteredに指定したときに使う。
[TileName]
コピー元の範囲内のコピーするブロック。

(例1)(~1,~,~1)~(~2,~1,~2)の範囲のブロックを(~5,~,~1)を支点とする範囲にコピーする。
/clone ~1 ~ ~1 ~2 ~1 ~2 ~5 ~ ~1
(例2)(~1,~,~1)~(~2,~1,~2)の範囲の石ブロックのみを(~5,~,~1)を支点とする範囲にコピーする。
/clone ~1 ~ ~1 ~2 ~1 ~2 ~5 ~ ~1 filtered normal minecraft:stone2014-09-04_145803.png
(例2)の実行結果。左がコピー元、右がコピー先で石ブロックしかコピーされていない。

※1:force指定をせずに、コピー先の範囲がコピー元の範囲に入ってる場合、
   「Source and destination can not overlap」と表示されコピーできない。


/fill 14w03a追加
指定した範囲内を指定したブロックで埋めるコマンド。豆腐生成コマンド

記述形式
/fill <x1> <y1> <z1> <x2> <y2> <z2> <TileName> [dataValue] [oldBlockHandling] [dataTag]
/fill <x1> <y1> <z1> <x2> <y2> <z2> <TileName> <dataValue> replace [replaceTileName] [replaceDataValue]
<x1><y1><z1><x2><y2><z2>
ブロックを埋める範囲の支点。
(x1,y1,z1)~(x2,y2,z2)の範囲を指定したブロックで埋める。
<TileName>
指定した範囲内を埋めるブロックのID(文字列)。
[dataValue]<dataValue>
指定した範囲内を埋めるブロックのデータ値(数値)。
[oldBlockHandling]
埋める範囲内にあるブロックの扱い。デフォルトがreplace
destroy :全てのブロックを置き換える(上書きする)。既存ブロックは破壊されドロップする。演出とかに良さげ。
hollow :外枠のみを指定したブロックに置き換え、内側のブロックを空気ブロックで埋める。豆腐小屋製造機1
keep :空気ブロックのみを埋める(既存ブロックは上書きしない)。
outline :外枠のみを指定したブロックに置き換える。hollowとは違い、内側のブロックは上書きされない。豆腐製造機2
replace :全てのブロックを置き換える(上書きする)。keepとは違い、ドロップはしない。
[dataTag]
埋めるブロックのデータタグ。
[replaceTileName][replaceDataValue]
この引数を指定した場合、指定した範囲内のこの引数のブロックのみ、<TileName>のブロックで埋める。
[oldBlockHandling]をreplace、<dataValue>を指定した場合に指定できる。

(例1)(~1,~,~1)~(~2,~1,~2)の範囲をデータ値3の石(diorite)で埋める
/fill ~1 ~ ~1 ~2 ~1 ~2 minecraft:stone 3
(例2)(~1,~,~1)~(~-1,~-2,~-1)の範囲の水ブロックを消す(空気ブロックで埋める)。
/fill ~1 ~ ~1 ~-1 ~-2 ~-1 minecraft:air 0 replace minecraft:water


/particle 14w04a追加
パーティクルを発生させるコマンド。

記述形式
/particle <name> <x> <y> <z> <dx> <dy> <dz> <speed> [count] [mode]
<name>
パーティクル名。パーティクルの一覧はこちら。 (例)hugeexplosion,critなど...
<x><y><z>
パーティクルを発生させる中心の座標。
<dx><dy><dz>
パーティクルの範囲。
(例外)<name>がreddust/mobSpell/mobSpellAmbientのいずれかで、[count]が0の場合、
<dx><dy><dz>でパーティクルのRGB(※2)を指定できる。それぞれ、0がデフォルト。
また、reddustの赤要素は<dx>+1なので、緑にする場合、「-1 1 0」と指定する。
<speed>
パーティクルの速度や色の範囲。
[count]
パーティクルの個数。デフォルトが0。
[mode]
パーティクルの表示設定。
force :指定すると、パーティクルから16ブロック以上離れていても表示される。

(例1)現座標からx軸±1、z軸±1の範囲に100個のsmokeパーティクルを生成する。
/particle smoke ~ ~ ~ 1 0 1 0.001 100
(例2)青色([R/G/B]=[(1-1)/0/1]=[0/0/0])のreddustパーティクルを生成する。
/particle reddust ~ ~ ~ -1 0 1 1

※2:0~1の間で指定する。ただし、speedが1の場合。


/trigger 14w06a追加
権限がない人のスコア(trigger型)を変更するコマンド。
/tellraw内のclickEventなどで用いる。
/scoreboard objectives add <objective> trigger」でtrigger型のスコアを生成する。
実行する前に「/scoreboard players enable <player> <objective>」で
スコアを変更する権限をプレイヤーに付与する必要がある。
/triggerで変更するたびに、権限を付与しなければいけない。

記述形式
/trigger <objective> <add|set> <value>
<objective>
変更するスコア(オブジェクティブ)
<add|set>
変更するスコアの処理。
add :<objective>に<value>を加える。
set :<objective>を<value>に設定する。
<value>
数値。

(例)クリックするとtrigger型スコア「obj」の値を1にする「ON」を表示する。
/tellraw @p {text:"ON",clickEvent:{action:run_command,value:"/trigger obj set 1"}}


/execute 14w07a追加
指定したEntityにコマンドを実行させるコマンド。
detectモードは(<x2>,<y2>,<z2>)に指定したブロックある場合、指定したEntityにコマンドを実行する。

記述形式
/execute <entity> <x> <y> <z> <command …>
/execute <entity> <x> <y> <z> detect <x2> <y2> <z2> <block> <data> <command …>
<entity>
コマンドを実行するターゲット。
<x><y><z>
ターゲットからの座標。基本的に相対座標で指定する。
<command …>
実行するコマンド。/は付けても付けなくてもどっちでもいい。
<x2><y2><z2>(detectモード専用)
検知するブロックの座標。
<block><data>(detectモード専用)
検知するブロックのID(文字列)とデータ値。

(例1)最寄りのプレイヤーの(~1,~,~1)~(~-1,~-2,~-1)の範囲の水ブロックを消す。
/execute @p ~ ~ ~ fill ~1 ~ ~1 ~-1 ~-2 ~-1 minecraft:air 0 replace minecraft:water
(例2)村人の座標に雷を召喚する。
/execute @e[type=Villager] ~ ~ ~ /summon LightningBolt
(例3)下に草ブロックがある場合、「Standing on grass」と表示する。
/execute @a ~ ~ ~ detect ~ ~-1 ~ minecraft:grass 0 say Standing on grass
(例4)(<x>,<y>,<z>)に石ブロックがある場合、最寄りのプレイヤーにダイヤモンドをあげる。
/execute @a ~ ~ ~ detect <x> <y> <z> minecraft:stone 0 /give @p minecraft:diamond



/testforblocks 14w07a追加
2つの指定した範囲のブロックが一致しているか検知するコマンド。
コンパレータとクロック回路と併用することが多い。
また、似たようなコマンドで/testforblockがある。別物のコマンドなのでとても紛らわしい。

記述形式
/testforblocks <x1> <y1> <z1> <x2> <y2> <z2> <x> <y> <z> [mode]
<x1><y1><z1><x2><y2><z2>
比べる元となるブロックの範囲。
<x><y><z>
比べる対象となるブロックの範囲の北西方向の下の座標。
[mode]
検知するときの設定。デフォルトがall
all :2つの範囲の空気ブロックを含むすべてのブロックを比べる。
masked :2つの範囲の空気ブロックを除くすべてのブロックを比べる。

(例)(0,0,0)~(3,3,3)と(10,0,10)~(10+3,0+3,10+3)の範囲のブロックが同じか検知する。
/testforblocks 0 0 0 3 3 3 10 0 10


/worldborder 14w17a追加
ワールドの境界に関する設定をするコマンド。

記述形式
/worldborder add <sizeInBlocks> [timeInSeconds]   境界を拡張する(直径の数値を増やす)。
/worldborder center <x> <z>   境界の中心を設定する。
/worldborder damage amount <damagePerBlock>   境界の外に出た時のダメージ量を設定する。
/worldborder damage buffer <sizeInBlocks>   ダメージを受けるまでの距離を設定する。
/worldborder get   境界の直径を表示する。
/worldborder set <sizeInBlocks> [timeInSeconds]   境界を設定する(直径の数値を指定する)。
/worldborder warning distance <blocks>   警告する距離を設定する(※3)。
/worldborder warning time <seconds>   警告する時間を設定する(※3)。
<sizeInBlocks>
距離(単位:ブロック)。
add :境界の直径のくわえる距離。
damage buffer :プレイヤーが境界の外に出てからダメージを食らうまでの距離。デフォルトが5。
set :境界の直径に設定する距離。 1.0から60,000,000の間で指定。
[timeInSeconds]
境界の範囲の移動にかかる時間(単位:秒)。デフォルトが0。
<x><z>
境界の中心の座標。
<damagePerBlock>
damage bufferで指定した距離から1ブロック離れるごとのダメージ増加量。
<blocks>
警告するときの、境界までの距離。
<seconds>
warning distanceで指定した範囲に入ってから、警告するまでの時間。

(例1)境界の中心をX座標0、Z座標0に指定する。
/worldborder center 0 0
(例2)10秒間かけて、境界の直径を10ブロックにする。
/worldborder set 10 10

※3:画面の端が若干赤くなる。「Video Settings」の「Graphics」がFancyの時のみ描画される。


/title 14w20a追加
画面にタイトルを表示するコマンド。

記述形式
title <player> clear   タイトルを画面から消去する
title <player> reset   設定を初期値に戻す。
title <player> subtitle <raw json title>   サブタイトルを設定する(※4)。
title <player> times <fadeIn> <stay> <fadeOut>   タイトルの表示する時間などを設定する。
title <player> title <raw json title>   タイトルを表示する。
<player>
タイトルを表示・タイトルの設定するターゲット。
<raw json title>
表示する文字列(JSON形式)。
<fadeIn><stay><fadeOut>
タイトルのフェードインの時間・表示する時間・フェードアウトの時間(単位:Tick = 1/20秒)。
デフォルトはそれぞれ、20(1秒)/60(3秒)/20(1秒)。

(例)全てのプレイヤーに緑色の太字で「TITLE」と表示する。
/title @a title {text:"TITLE",color:"green",bold:"true"}

※4:サブタイトルは/title <player> titleコマンド実行と同時にタイトルと一緒に表示され、実行後にリセットされる。


/replaceitem 14w26a追加
ブロックやエンティティの指定したスロットを指定したアイテムに置き換えるコマンド。
/replaceitem blockはチェストやホッパー、かまどなどのスロット、
/replaceitem entityはモブの装備欄やプレイヤーのインベントリに対して使う。

記述形式
/replaceitem block <x> <y> <z> <slot> <item> [amount] [data] [dataTag]
/replaceitem entity <selector> <slot> <item> [amount] [data] [dataTag]

<x><y><z>
スロットを置き換えるブロックの座標。
<slot>
アイテムを置き換えるスロット。
■指定できるSlot一覧(長いので折りたたみ)
<item>[amount][data][dataTag]
スロットに置き換えるアイテムのID(文字列)、個数、データ値、データタグ。

(例1)下のブロック(かまどと仮定)の燃料スロットを石炭に置き換える。。
/replaceitem block ~ ~-1 ~ slot.container.1 minecraft:coal
(例2)最寄りのプレイヤーの頭装備スロットを石ブロックに置き換える。
/replaceitem entity @p slot.armor.head minecraft:stone
頭スロットにブロックを置き換えて、ブロックを装備することもできる(見た目も反映される)。


/stats 14w28a追加
ブロックやエンティティのコマンド実行時の返り値と代入するスコアを設定するコマンド。
ブロック(コマンドブロックや看板)とプレイヤーはコマンドを実行することができる。
また、/executeを用いることでプレイヤー以外のエンティティもコマンドを実行することができる。
/statsで返り値を設定されたブロック・エンティティがコマンドを実行する際、コマンドによって影響されたブロックの数(/fillだったら範囲のブロック数)やコマンドを実行した(/execute)・検知された(/testfor)エンティティの数をスコアに代入する。

記述形式
/stats block <x> <y> <z> clear <stat>
/stats block <x> <y> <z> set <stat> <selector> <objective>
/stats entity <selector2> clear <stat>
/stats entity <selector2> set <stat> <selector> <objective>

<x><y><z>
返り値と代入するスコアを設定・初期化するブロックの座標。
<selector2>
返り値と代入するスコアを設定・初期化するエンティティ。
<stat>
設定・消去するコマンド実行時の戻り値。
AffectedItems :アイテムの入手した数などを取得(/give,/clearで使用)
AffectedEntities :実行・検知したエンティティの数を取得(/testfor,/killで使用)
AffectedBlocks :設置したブロックの数を取得(/fill,/testforblocksで使用)
QueryResult :コマンドで取得した数値を取得(/time queryなどで使用)
SuccessCount :コマンドが成功したかどうか取得
<selector><objective>
戻り値を代入するターゲットとスコア。

(例1)下のブロック(コマンドブロックと仮定)のコマンド実行時のコマンドの実行・検知したエンティティの数をフェイクプレイヤー「Entity」のスコア「Result」に代入する。
/stats block ~ ~-1 ~ set AffectedEntities Entity Result
「/testfor @e[type=Villager]」をコマンドブロック上で実行すると、/testforで検知した村人の数が「Entity」の「Result」に代入される。
(例2)最寄りのプレイヤーのコマンド実行時のコマンドの戻り値を、最寄りのプレイヤーのスコア「XP」に代入する。
/stats entity @p set QueryResult @p XP
「/xp 0L」を実行することで、現在のレベルがプレイヤーのスコア「XP」に代入される。


/entitydata 14w32b追加
指定したEntityのデータタグを設定するコマンド。
例えば、ゾンビの移動速度(Attribute)やArmorStandの角度などを変更できる。
応用でそのエンティティの持つデータタグを調べることもできる。

記述形式
/entitydata <entity> <dataTag>
<entity>
データタグを設定するEntity。
<dataTag>
設定するデータタグ。

(例1)全てのゾンビを子ゾンビにする。
/entitydata @e[type=Zombie] {IsBaby:1b}
(例2)半径3ブロック以内の村人の持つデータタグを調べる。
/entitydata @e[type=Villager,r=3] {:}


【参考サイト】
Commands - Minecraft Wiki
1.8(Commands & NBT Tags)
スポンサーサイト

この記事へのコメント

トラックバック

URL :

プロフィール

ArgonMc

Author:ArgonMc
Minecraftについて書いてます。
リンクはご自由にどうぞ。

カウンター
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
タグ
Twitter

Twitter始めました。

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。