응 아니야

/advancement

 

플레이어의 발전과제(도전과제)를 깬 상태로 바꾸거나 반대로 아직 깨지 못한 상태로 바꿀 수 있는 명령어입니다. 주거나 빼앗을 수 있다 이말입니다. 없던 과제를 만들어내거나 있던 과제를 없애는 명령어가 아닙니다. 그건 데이터팩에서 다뤄야해서 패스합니다~

 

하위 인자로는 grant, revoke가 있습니다. grant는 주고 revoke는 뺏습니다.

 

[

/advancement grant 

/advancement revoke 

]

 

대상 선택 인자로는 '@a,@e,@p,@r,@s,플레이어 이름'까지 모두 표시되지만 실제로는 플레이어만 선택할 수 있습니다. 만약 플레이어가 아닌 엔티티를 선택한 경우 '플레이어만 이 명령어에 영향을 받을 수 있지만, 제공된 선택자가 개체를 포함합니다.'라는 메세지가 나오며 명령어가 실행되지 않습니다. 그러므로 그냥 사용할 때는 물론이고, execute로 더 긴 문장으로 만든 경우에도 대상에 플레이어를 콕 집어줘야만 합니다.

 

[

/advancement grant @a

/advancement revoke @s

]

 

다시 각 인자 하위 인자로

everything,

from,

only,

through,

until

이 있습니다.

 

1. everything은 '대상'에게 '서버에 등록된 모든 과제'를 주거나 뺏(승인하거나 제거하)는 것입니다.

    ㄴ /advancement grant @a everything

    ㄴ 모든 플레이어의 모든 도전과제가 승인됩니다. *승인으로 번역되어있길래 그대로씁니다..

 

2. from은 '대상'에게 '선택한 과제'를 포함한 '이후의 모든 과제'를 주거나 뺏는 것입니다.

    ㄴ /advancement grant @a from minecraft:story/lava_bucket

    ㄴ 모든 플레이어의 '화끈한 화제'를 포함해 이후의 이어진 모든 과제가 승인됩니다.

    ㄴ '화끈한 화제', '아이스 버킷 챌린지', '더 깊은 곳으로', '좀비 의사', '스무고개', '이걸로 끝이야?'

 

3. only는 '대상'에게 '선택한 과제'만을 주거나 뺏는 것입니다.

    ㄴ /advancement grant @a only minecraft:story/lava_bucket

    ㄴ 모든 플레이어의 '화끈한 화제'가 승인됩니다.

    ㄴ '화끈한 화제'

 

3.1. only에만 criterion이라는 인자가 하나 더 있습니다. 표준,기준,특징등으로 번역(구글)되네요. 달성에 필요한 조건이라고 읽는 것이 바람직할까요? 이 부분은 영어를 몰라 정확히 정의하지 못하겠습니다. 하지만 해보면 무슨 용도인지는 알 수 있죠.

    ㄴ /advancement grant @a only minecraft:story/obtain_armor [criterion] (iron_boots)

    ㄴ [criterion]에는 미리 정의된 문자열만 들어갈 수 있습니다.

    ㄴ 문자열이고 뭐고 패스(빈칸으로 즉, 지정하지 않았다면) 모든 기준이 만족된 상태로 승인됩니다.

    ㄴ '차려입기'를 달성하려면 철 방어구 셋을 입어야합니다.

    ㄴ 이 기준을 넣고 승인해버리면 나머지 방어구를 입지 않은 상태에서도 클리어한 것으로 승인됩니다.

    ㄴ /advancement revoke @a everything

    ㄴ /advancement revoke @a only minecraft:story/obtain_armor iron_boots

    ㄴ 모든 기준을 만족한 상태로 달성한 차려입기에 반대로 revoke를 썼다면 철 부츠를 입지 않은 채로 달성한 상태가 됩니다.

    ㄴ 만족되지 않은 기준이 있는 경우 만족되지 않은 기준만을 지정해서 승인할 수도 있습니다. (당연하긴 함)

    ㄴ 이 인자는 구체적으로 어떤 상황에 써야 할지 모르겠습니다. 어차피 플레이로 달성해야 한다면 해야 할 일이고 명령어로 줄 거면 빼먹고 줄 이유가 있나 싶거든요. 시간도 되시고 아시기도 한다면 예시 댓글로 남겨주세요. 미리 감사합니다.

4. through는 '대상'에게 '선택한 과제'를 포함한 '이전과 이후의 모든 과제'를 주거나 뺏는 것입니다.

    ㄴ /advancement grant @a through minecraft:story/lava_bucket

    ㄴ 모든 플레이어의 '화끈한 화제' 앞뒤에 있는 도전과제 모두가 승인됩니다.

    ㄴ 복붙 하다 보니 문장이 이상하고 함정도 있습니다. 문장은 눈감아주시고, 함정은 설명드리겠습니다. 화제의 앞뒤에 있다고 해서 화제 위아래에 있는 차려입기나 이제 철 좀 들어라는 승인되지 않은 모습입니다. 위 사진에서 보시다시피요. 말 그대로 위의 이 과제들은 화끈한 화제의 이전, 이후 과제가 아니기 때문이며 같은 상위 과제를 공유하지 않기 때문입니다.

    ㄴ 그럼 상위 과제를 공유하는 조건을 갖춘 과제를 선택하면 어떻게 될까요?

 

'철이 철철 넘쳐'를 선택하면..

철이 철철 넘쳐가 이후(상위) 과제 세 개의 노드와 모두 연결되어 있으므로 story 탭의 모든 과제가 승인됐습니다.

 

5. until은 '대상'에게 '선택한 과제'를 포함한 '이전의 모든 과제'를 주거나 뺏는 것입니다.

    ㄴ /advancement grant @a until minecraft:story/lava_bucket

    ㄴ from과 반대되는 개념이니 예상하셨다시피 최상위 화제를 기준으로 하위 모든 과제가 승인됩니다.

 

 

발전(도전)과제를 주거나 뺏는 명령어 advancement에 대해서 알아봤습니다.

감사합니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band