응 아니야

안녕하세요. 당이천입니다.

 

대상의 아이템을 제거하는 명령어 /clear를 알아봅니다. 여기서 대상이란 플레이어만을 뜻합니다. 주민에게도 인벤토리가 있고 좀비에게도 손발이 있지만 여기선 포함하지 않습니다.

 

/clear

/clear @p stone 0

/clear 하위 인자로는 대상선택인자 그리고 제거할 아이템의 이름 그리고 갯수가 있습니다.

 

명령어는 /clear @p만으로도 완성입니다. 대상만 있어도 작동을 하지만.. 아이템과 갯수를 지정하지 않았기 때문에 가진 모든 아이템을 제거해버립니다.

 

/clear @p

대상 선택하기

대상선택인자 @e로 다른 엔티티를 선택할 수 없습니다. 강제로 선택하더라도 '플레이어만 이 명령어에 영향을 받을 수 있습니다.'라고 뜨며 실패합니다. @e[type=player]를 써야 하겠죠.

 

/clear @p <arg>

두번째 인자는 아이템의 이름입니다. 상위 버전에서는 아이템의 태그도 지원하므로 좀 더 쉽게 지정할 수 있습니다. 다만 느낌표로 시작하는 부정문은 넣을 수 없습니다. 그래서 클리어만으로 특정 아이템만을 남겨두고 나머지 아이템을 제거하는 것은 불가합니다.

 

#c:axes

도끼로 구분되는 나무~네더라이트 도끼 모두를 지정하는 일반 아이템 태그

#minecraft:acacia_logs

log로 구분되는 아카시아 묘목, 나무, 원목, 껍질 벗긴 것까지를 지정하는 블록 아이템 태그

minecraft:acacia_log

'아카시아 원목' 블록 아이템 태그

!minecraft:stone

불가능

 

/clear @p stone <arg>

갯수는 입력하지 않아도 됩니다. 입력하지 않으면 가진 모든 아이템을 제거합니다.

입력한다면 0~2,147,483,647까지 입력할 수 있으며 실제 가진 아이템의 갯수보다 많이 입력해도 가진 만큼 제거합니다.

 

클리어는 이것으로 끝입니다.

 

는 아니고

 

0을 입력했을 때가 중요합니다.

 

번외

아이템 갯수를 감지할 수 있습니다.

 

참나무 원목 0개를 제거하는 명령을 해보았습니다.

0개를 제거하고 아이템 갯수가 몇개인지 반환합니다.

 

특정 플레이어가 가진 특정 아이템의 갯수가 몇개인지 알 수 있다는 것입니다.

스코어보드에 execute로 저장한다면 더욱 똑똑한 기능을 구현할 수 있습니다.

태그도 마찬가지로 작동합니다. 가려서 잘 안 보이지만 네더라이트 도끼, 철 도끼 두개를 가지고 있고 정확히 감지해냅니다.

 

감사합니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band