[include(틀:상위 문서, top1=마인크래프트/명령어)] [include(틀:관련 문서, top1=마인크래프트/명령어/NBT, top2=마인크래프트/명령어/스코어보드)] [목차] ||<-6><tablebordercolor=#47a0ff><bgcolor=#47a0ff> {{{+3 {{{#ffffff '''execute'''}}}}}} || ||<-6><bgcolor=#ccddff,#001159> JE: {{{execute <세부 명령문...> run <실행할 명령>}}}[br]BE: {{{execute <개체> <좌표> <실행할 명령>}}}[br]BE_detect: {{{execute <개체> <좌표> detect <좌표2> <블록> <데이터 값> <실행할 명령>}}} || ||<-3><bgcolor=#47a0ff> {{{#ffffff '''역사'''}}} ||<-3>JE | {{{#00aa00 [ruby(1.8, ruby=추가)]}}} {{{#ffa100 [ruby(1.13, ruby=변경)]}}} ---- BE | {{{#00aa00 [ruby(?, ruby=추가)]}}} ---- EE | {{{#00aa00 [ruby(?, ruby=추가)]}}} || ||<-3><bgcolor=#47a0ff> {{{#ffffff '''기능'''}}} ||<-3>JE: {{{<세부 명령문...>}}}에 따라 {{{<실행할 명령>}}}을 실행한다.[br]BE: {{{<개체>}}}가 {{{<좌표>}}}를 기준으로 {{{<실행할 명령>}}}을 실행하게 만든다.[br]BE_detect: {{{<좌표2>}}}에 해당 {{{<블록>}}}이 설치되어 있어야 {{{<개체>}}}가 {{{<좌표>}}}를 기준으로 {{{<실행할 명령>}}}을 실행하게 만든다. || ||<-3><bgcolor=#47a0ff> {{{#ffffff '''관련 명령어'''}}} ||<-3> - || ||<-3><bgcolor=#47a0ff> {{{#ffffff '''단축 명령어'''}}} ||<-3> - || ||<-3><bgcolor=#47a0ff> {{{#ffffff '''기본값'''}}} ||<-3> - || ||<-2><rowbgcolor=#47a0ff> {{{#ffffff '''명령 블록 실행'''}}} ||<-2> {{{#ffffff '''싱글플레이 사용'''}}} ||<-2> {{{#ffffff '''권한'''}}} || ||<-2> 가능 ||<-2> 가능 ||<-2> OP 이상 || 명령어의 실행 주체, 위치, 시점, 차원을 설정하고 명령어가 실행될 조건과 명령어의 결과값을 저장하는 방식을 설정한다. '''명령어의 일등공신.''' BE 및 BE_detect 명령어의 경우 {{{<좌표>}}}, {{{<좌표2>}}}를 앞서 지정한 {{{<개체>}}}를 기준으로 한 상대 좌표로도 설정할 수 있다. == JE == 세부 명령문은 한 명령어에 여러 번 쓰는 것이 가능하고 세부 명령문의 작성이 끝나면 {{{run <실행할 명령>}}}으로 끝낸다. 이 때, {{{<실행할 명령>}}} 앞에는 [[/|/]]를 사용해서는 안 된다. === 실행 설정 === 명령어의 실행 주체, 위치, 시점, 차원 등을 설정할 수 있다. *{{{as <대상> <다음 명령>}}} *명령어의 실행 주체를 대상으로 설정한다. 위치를 바꾸진 않는다. *{{{at <대상> <다음 명령>}}} *명령어의 실행 위치를 대상의 위치, 시점, 차원으로 설정한다. 이것이 없으면 particle, fill 과 같은 좌표 관련 명령어를 써도 명령어 블럭의 위치에만 효과가 나타난다. 대상을 바꾸진 않아서 effect처럼 대상에게 실행하는 명령어는 as가 있어야 한다. *{{{positioned <좌표> <다음 명령>}}} *명령어의 실행 위치를 그 좌표로 설정한다. *{{{positioned as <대상> <다음 명령>}}} *명령어의 실행 위치를 대상의 좌표로 설정한다. *{{{align <기준> <다음 명령>}}} *명령어의 실행 위치를 <기준>에 따라 버림하여 정수로 만든다. *{{{facing <좌표> <다음 명령>}}} *실행자의 시점이 <좌표>를 향해 있도록 설정한다. *{{{facing entity <개체> <eyes|feet> <다음 명령>}}} *실행자의 시점이 개체의 눈이나 발을 향하게 설정한다. *{{{rotated as <개체> <다음 명령>}}} *실행자의 시점이 <개체>의 방향으로 향해 있는 것으로 설정한다. *{{{rotated <시점 좌표> <다음 명령>}}} *실행자의 시점을 <시점 좌표>로 설정한다. *{{{in <minecraft:overworld|minecraft:the_end|minecraft:the_nether|(모드나 데이터팩으로 추가된 차원)> <다음 명령>}}} *실행자가 해당 차원에 있는 것으로 설정한다. *{{{anchored <feet|eyes> <다음 명령>}}} *나머지 <다음 명령>의 시점의 기준을 발 또는 눈으로 설정한다. anchored eyes를 쓰면 대상의 시점이 있는 좌표에서 실행된다. === 조건 설정 === 조건을 설정하는 세부 명령문을 사용하면 조건에 맞지 않는 경우 명령어가 실행되지 않는다. *{{{<if|unless> block <좌표> <블록> <다음 명령>}}} *해당 좌표에 맞는 블록이 있거나 있지 않을 때만 다음 명령을 실행한다.[* 기존 testforblock 명령어.] *{{{<if|unless> blocks <시작 좌표> <끝 좌표> <지점> (all|masked) <다음 명령>}}} *시작과 끝으로 설정된 지역의 블록이 지점 지역의 블록과 정확히 일치하거나 일치하지 않은 경우에만 다음 명령을 실행한다. [[마인크래프트/명령어#s-3.1.1.2|/clone]]과 비슷한 문법이다.[* 기존 testforblocks 명령어.] *{{{<if|unless> entity <개체> <다음 명령>}}} *개체가 존재하거나 존재하지 않을 때에만 다음 명령을 실행한다.[* 여기서 if 구문의 경우는 이전 버전에 존재하는 testfor 명령어랑 사용법이 비슷하다.] *{{{<if|unless> score <대상> <대상 목표> 〈<|<=|=|>=|>〉 <기준> <기준 목표> <다음 명령>}}} *대상의 점수와 기준의 점수가 (부)등호에 맞거나 맞지 않을 때만 다음 명령을 실행한다. *{{{<if|unless> score <대상> <목표> matches <범위> <다음 명령>}}} *대상의 점수가 범위에 들어갔거나 들어가지 않았을 때만 다음 명령을 실행한다. *{{{<if|unless> predicate <술어> <다음 명령>}}} *사용자 정의 술어가 맞거나 맞지 않을때 다음 명령을 실행한다. 술어에 대한 내용은 [[마인크래프트/데이터팩#s-3.6]] 참조 === 저장 설정 === {{{store}}}을 이용해 다음 명령의 결과나 성공 횟수를 저장할 수 있다. 결과는 모든 명령어가 실행을 마친 후에 저장된다. 또 명령어가 성공적으로 실행되지 않았다면, {{{result}}}도 0으로 설정된다. *{{{store <result|success> score <대상> <목표> <다음 명령>}}} *결과값이 대상의 목표에 해당하는 스코어보드에 저장된다. 목표는 무조건 존재해야 한다 *{{{store <result|success> block <위치> <경로> <byte|short|int|long|float|double> <크기> <다음 명령>}}} *블록의 NBT 데이터를 수정하고 결과를 저장한다. *{{{store <result|success> entity <대상> <경로> <byte|short|int|long|float|double> <크기> <다음 명령>}}} *대상의 NBT 데이터를 수정하고 결과를 저장한다. --{{{data}}}, {{{execute store}}} 는 플레이어 NBT를 수정할 수 없다. 예외적으로, 인벤토리 아이템의 태그 키에 내장되어 있는 NBT나 엔더 상자의 아이템의 NBT는 {{{execute store}}}로 수정할 수 있다.-- 이후 1.15 버전의 패치로 인해 플레이어의 NBT는 그 어떠한 경우에도 수정이 불가능해졌다. *{{{store (result|success) bossbar <ID> <value|max> <다음 명령>}}} *결과값을 해당 ID를 가진 보스바의 값이나 최대값으로 저장한다. === 설명 === *기준: {{{x, y, z}}}를 조합해 쓰고 쓴 영어에 해당하는 좌표의 값을 소수 부분을 버림한다. x, xz, zyx, yz 등으로 쓸 수 있다. *예: {{{x}}}의 값이 2.9이고 {{{<기준>}}}을 x로 하면 x=2가 된다. y의 값이 -13.2이고 z의 값이 6.24이며 {{{<기준>}}}을 yz로 하면 y=-14, z=6이 된다. *{{{eyes}}}: 눈(시점 설정) *{{{feet}}}: 발(시점 설정) *{{{overworld}}}: 오버월드 *{{{the_end}}}: 엔드 *{{{the_nether}}}: 네더 *{{{if}}}: 조건과 일치할 때 <다음 명령>을 실행한다. *{{{unless}}}: 조건과 일치하지 않을 때 <다음 명령>을 실행한다. *{{{all}}}: 모든 블록이 일치 *{{{masked}}}: 공기 블록을 제외하고 일치 *{{{범위}}}: 대상의 점수가 범위에 있는지 확인하는 인수로 1, 1..5, ..6, 3..처럼 지정한다. *{{{result}}}: 결과 *명령어의 실행 결과를 저장한다. *{{{success}}}: 성공 횟수 *명령어가 몇 번 성공했는지를 저장한다. *{{{byte|short|int|long|float|double}}}: 자료형 (byte는 -7에서7, short, int, long은 정수형, float, double은 유리수형. 쉽게 생각하여 NoAI:1b의 b가 byte고, int는 그냥 숫자 앞에 아무것도 없는 것이라 생각하면 된다.) *{{{ID}}}: 보스바의 ID *{{{value}}}: 값 *{{{max}}}: 최댓값 === 용례 === *가장 가까운 플레이어의 체력을 보스바로 나타낼 때 *{{{execute store result bossbar minecraft:1 value run scoreboard players get @p HP}}} *모든 좀비의 위치에 번개를 소환한다. (1.13 이후 JE 한정) *{{{execute as @e[type=zombie] at @s run summon lightning_bolt ~ ~ ~}}} *모래 위에 있는 좀비의 위치에 번개를 소환한다. *{{{execute as @e[type=zombie] at @s if block ~ ~-1 ~ minecraft:sand run summon lightning_bolt ~ ~ ~}}} *모든 플레이어에게서 5블록 반경에 있는 플레이어하고 떨어지는 번개와 아이템을 제외한 모든 개체에게 번개를 소환한다. *{{{execute as @p at @e[distance=..5,type=!player,type=!lightning_bolt,type=!item] run summon lightning_bolt ~ ~ ~}}} *플레이어의 아래에 흑요석이 감지될 경우 x y z로 tp한다. (점프맵 등에 사용됨) *{{{execute as @a at @s if block ~ ~-0.001 ~ minecraft:obsidian run tp @p[distance=0] x y z}}} *플레이어의 아래에 금 블럭이 감지될 경우 플레이어에게 다이아몬드 검을 주고 그 블럭을 없앤다. (점프맵 등에 사용됨) *{{{첫번째 명령어 : execute as @a at @s if block ~ ~-1 ~ minecraft:gold_block run give @s minecraft:diamond_sword}}} *{{{두번째 명령어(연쇄형) : execute as @a at @s if block ~ ~-1 ~ minecraft:gold_block run setblock ~ ~-1 ~ minecraft:air}}} * 아머스탠드의 오른팔이 분당 10번 돌아간다. *{{{준비 : /scoreboard objectives add test dummy, /summon x y z armor_stand{ShowArms:1,Pose:{RightArm:[0.0f,0.0f,0.0f]},Tags:[test]} }}} *{{{execute as @e[tag=test,limit=1] store result @s Pose.RightArm[0] float 1 run scoreboard players add @s test 3}}} [include(틀:문서 가져옴, title=마인크래프트/명령어, version=518, paragraph=3.1.11)] [[분류:마인크래프트/명령어]] == BE == BE의 {{{execute}}} 명령어 사용법이다. JE 1.13 미만 버전인 경우 이 명령어를 사용해야 한다. === 문법 === * 그냥 사용할 경우: {{{execute <개체> <좌표> <실행할 명령>}}} (낮은 버전만 사용 가능) * 특정한 블록을 감지하는 경우: {{{execute <개체> <좌표> detect <좌표2> <블록> <데이터 값> <실행할 명령>}}} === 설명 === * {{{좌표}}}: 해당 명령어가 실행되는 위치이며 상대 좌표의 경우 지정한 개체를 기준으로 설정된다. * {{{좌표2}}}: {{{블록}}}을 감지하는 좌표이다. {{{testfor}}}와 같이 조건을 설정한다. * {{{블록}}}: 블록의 영문 이름을 쓰면 된다. 기억나는 철자로 쓰다 보면 입력란 위에 정확한 이름이 표시된다. * {{{데이터 값}}}: 같은 종류의 블록이라도 여러 상태가 존재하는 경우가 많은데 [* 불이 붙지 않는 화로, 불이 붙은 화로나, 유리나 점토 같이 여러 색깔으로 염색할 수 있는 블록 등.] 이러한 것들을 특정하기 위한 정보이다. -1이나 *을 넣을 경우에는 어떤 데이터 값이나 상태를 가지더라도 상관이 없다는 의미이다. === 용례 === *모든 좀비의 위치에 번개를 소환한다. *{{{execute @e[type=zombie] ~ ~ ~ summon lightning_bolt}}} *모래 위에 있는 좀비의 위치에 번개를 소환한다. *{{{execute @e[type=zombie] ~ ~ ~ detect ~ ~-1 ~ minecraft:sand -1 summon lightning_bolt}}} *모든 플레이어에게서 5블록 반경에 있는 플레이어하고 떨어지는 번개와 아이템을 제외한 모든 개체에게 번개를 소환한다. *{{{execute @a ~ ~ ~ execute @e[r=5,type=!player,type=!lightning_bolt,type=!item] ~ ~ ~ summon lightning_bolt}}} *태그가 blue인 모든 플레이어 위치에 좀비를 설치 *{{{execute @a[tag=blue] ~ ~ ~ summon zombie}}}} #tag명령어는 [[마인크래프트/명령어#s-2.1.1.30|여기]]를 참고 [include(틀:문서 가져옴, title=마인크래프트/명령어, version=518, paragraph=3.1.11)] [[분류:마인크래프트/명령어]]