스크립트 & 커멘드

땅에 떨어진 아이템이 제거되지 않게 하는 기능 1.12.2 커맨드

3 신호등 5 7,434 2018.09.16 05:15

적용 가능 minecraft 버전 :: 1.12.2 (싱글플레이)
기능 & 설명 ::  땅에 떨어진 아이템이 제거되지 않게 하는 기능
출처 설명 또는 링크 :: <없음>


실행 방식 -> 아머스텐드, 커맨드(스폰청크에서) 또는 게임루프펑션

변경되는 명령어 -> /give



방법

(부가설명)

/커맨드

→펑션

커맨드(펑션)

!~[주의사항]

>해석

+참고

▼커맨드블록

무조건적 항상 활성화 반복 커맨드 블록

커맨드 블록 잇기

무조건적 항상 활성화 체인 커맨드블록

조건적 항상 활성화 체인 커맨드블록

┌▶여러가지 방법중 하나(이것들중 선택사항)

│방법(이것들중 한가지 방법)

├▶여러가지 방법중 하나(이것들중 선택사항)

┘방법(이것들중 한가지 방법)

┌▷폴더 이름

│같은 폴더

┘같은 폴더

┌▷펑션 이름

├같은 펑션

└같은 펑션



/summon minecraft:armor_stand ~ 0 ~ {NoGravity:1b,UUIDLeast:0L,UUIDMost:0L,Invisible:1b}

!~[사람의 손이 닿지 않는곳에 엔티티를 소환해주세요.]

!~[엔티티가 소환된 좌표와 그 좌표에서 y=y+1 좌표에 해당하는 장소는 플레이어가 블록을 설치할수 없으며, 바라보는곳 이상의 위치를 건드릴수 없습니다.]

!~["물체를 소환할 수 없습니다" 라고 뜬다면 이미 같은 UUID가 있습니다 UUID를 변경해주세요.]

>x=자신의좌표x,y=0,z=자신의좌표z 에 가만히 있어야되는상태,최소위주UUID0,최대위주UUID0,무적상태인 아머스텐드 라는 엔티티를 소환한다.

+아머스텐드를 제거하려면 참고1으로 이동해주세요.


/scoreboard objectives add item_protect dummy

!~["'item_protect'(이)라는 이름의 목표가 이미 존재합니다" 라고 뜬다면, 이미 같은 오브젝트가 존재합니다 이름을 변경해주세요.]

>스코어보드에 이름은item_protect,유형은 dummy,표시는 item_protect로 되는것인 오브젝트를 추가합니다.

+스코어보드를 제거하려면 참고3으로 이동해주세요.


┌▶커맨드블록을 사용하여 만들기

/testfor @e[score_item_protect=0,score_item_protect_min=0] {NoGravity:1b,UUIDLeast:0L,UUIDMost:0L,Invisible:1b}

!~["갑옷 거치대이(가) 필요한 데이터 구조와 일치하지 않습니다" 라고 뜬다면 데이터태그가 다르게 설정되어 있거나, 다른 갑옷 거치대가 설치되어있는 상태이면서 해당 데이터 태그의 아머스텐드가 제거되어있습니다.]

!~["선택자 '@e[score_item_protect=0,score_item_protect_min=0]'이가 아무것도 찾지 못했습니다" 라고 뜬다면 해당 데이터 태그의 아머스텐드가 오브젝트 item_protect 의 점수를 0으로 갖고 있지 않거나, 데이터태그가 다르게 설정되어 있거나, 해당 데이터 태그의 아머스텐드가 제거되어있습니다.]

>가만히 있어야되는상태,최소위주UUID0,최대위주UUID0,무적상태,오브젝트 item_protect 점수를 0이상,오브젝트 item_protect 점수를 0이하 상태인 엔티티를 찾는다.

/entitydata @e[type=item] {Invulnerable:1,Age:0}

>아이템 타입 상태인 엔티티를 자동 제거 무시(청크 언로드때만),0초동안 떨어진 아이템 상태를 추가합니다.
/scoreboard players set @e item_protect 0 {NoGravity:1b,UUIDLeast:0L,UUIDMost:0L,Invisible:1b}

│!~["00000000-0000-0000-0000-000000000000의 데이터 태그가 일치하지 않습니다" 라고 뜬다면 데이터태그가 다르게 설정되어 있습니다.]

│!~["목표 item_protect를 찾을 수 없습니다" 라고 뜬다면 오브젝트 item_protect 가 제거되어 있거나,  오브젝트 이름이 다르게 설정되어 있습니다.]

│>가만히 있어야되는상태,최소위주UUID0,최대위주UUID0,무적상태인 엔티티의 오브젝트 item_protect점수를 0으로 변경한다.

├▶게임루프펑션을 이용하여만들기

│┌▷scenemanager

││┌▷loop.mcfunction

││└→function scenemanager:item_protect  if  @e[score_item_protect=0,score_item_protect_min=0]

││!~[오류를 확인할 수 없습니다.]

││>오브젝트 item_protect 점수를 0이상,오브젝트 item_protect 점수를 0이하 상태인 엔티티가 존재한다면, 펑션 scenemanager:item_protect를 실행한다.

││┌▷item_protect.mcfunction

││├→scoreboard players tag @e add run {NoGravity:1b,UUIDLeast:0L,UUIDMost:0L,Invisible:1b}

││├→execute @e[tag=run] ~ ~ ~ /entitydata @e[type=item] {Invulnerable:1,Age:0}

││└→scoreboard players tag @e remove run {NoGravity:1b,UUIDLeast:0L,UUIDMost:0L,Invisible:1b}

││!~[오류를 확인할 수 없습니다.]

│┘>가만히 있어야되는상태,최소위주UUID0,최대위주UUID0,무적상태인 엔티티에게 run태그를 추가한후 좌표 x=자신(없을경우 해당 엔티티)의좌표x,y=자신(없을경우 해당 엔티티)의좌표y,z=자신(없을경우 해당 엔티티)의좌표z를 중심으로 run태그가 붙어있는 엔티티가 모두 자신(없을경우 커맨드블록)의 권한으로 아이템 타입 상태인 엔티티를 자동 제거 무시(청크 언로드때만),0초동안 떨어진 아이템 상태를 추가하는명령을 실행하게 한후 가만히 있어야되는상태,최소위주UUID0,최대위주UUID0,무적상태인 엔티티에게 run태그를 제거한다.

│/gamerule gameLoopFunction scenemanager:loop

│!~[오류를 확인할 수 없습니다.]

│>게임룰중 게임루프펑션을 scenemanager폴더 안에 있는 loop.mcfunction파일 주소에 있는 파일로 변경합니다.

┘+마인크래프트 안에 명령어를 써서 버그를 테스트 해보세요.



참고0 - 변경된 명령어 /give <플레이어> <아이템> [양] [데이터] [데이터태그]

!~[변경된 명령어를 이용하지 않을 경우 버그가 일어날 수 있습니다.]

┌▶커맨드블록을 사용하여 실행하기

│▼/give <플레이어> <아이템> [양] [데이터] [데이터태그]

!~[변경된 명령어를 이용하지 않을 경우 버그가 일어날 수 있습니다.]

><플레이어>에게 [양]개의 [데이터태그]인 [데이터]<아이템>을 준다.

/scoreboard players set @e item_protect 1 {NoGravity:1b,UUIDLeast:0L,UUIDMost:0L,Invisible:1b}

│!~["00000000-0000-0000-0000-000000000000의 데이터 태그가 일치하지 않습니다" 라고 뜬다면 데이터태그가 다르게 설정되어 있습니다.]

│!~["목표 item_protect를 찾을 수 없습니다" 라고 뜬다면 오브젝트 item_protect 가 제거되어 있거나,  오브젝트 이름이 다르게 설정되어 있습니다.]

│>가만히 있어야되는상태,최소위주UUID0,최대위주UUID0,무적상태인 엔티티의 오브젝트 item_protect점수를 1로 변경한다.

├▶펑션을 이용하여 실행하기

│→give <플레이어> <아이템> [양] [데이터] [데이터태그]

│→scoreboard players set @e item_protect 1 {NoGravity:1b,UUIDLeast:0L,UUIDMost:0L,Invisible:1b}

│!~[오류를 확인할 수 없습니다.]

│><플레이어>에게 [양]개의 [데이터태그]인 [데이터]<아이템>을 준후 가만히 있어야되는상태,최소위주UUID0,최대위주UUID0,무적상태인 엔티티의 오브젝트 item_protect점수를 1로 변경한다.

│+마인크래프트 안에 명령어를 써서 버그를 테스트 해보세요.

├▶직접 입력해서 실행하기

│/scoreboard objectives remove item_protect dummy

│!~["목표 'item_protect"을(를) 찾을 수 없습니다"라고 뜬다면 이름이 다르게 설정되었거나 이미 제거되어 있습니다.]

│>스코어보드에 있는 이름은item_protect인 오브젝트를 제거합니다.

│/give <플레이어> <아이템> [양] [데이터] [데이터태그]

│!~[변경된 명령어를 이용하지 않을 경우 버그가 일어날 수 있습니다.]

│><플레이어>에게 [양]개의 [데이터태그]인 [데이터]<아이템>을 준다.

│/scoreboard objectives add item_protect dummy

│!~["'item_protect'(이)라는 이름의 목표가 이미 존재합니다" 라고 뜬다면, 이미 같은 오브젝트가 존재합니다 이름을 변경해주세요.]

│>스코어보드에 이름은item_protect,유형은 dummy,표시는 item_protect로 되는것인 오브젝트를 추가합니다.

┘+스코어보드를 제거하려면 참고3으로 이동해주세요.


참고1 - 땅에 떨어진 아이템이 제거되지 않게 하는기능 멈추기 - 아머스텐드 사용식

/scoreboard players tag @e add empty {NoGravity:1b,UUIDLeast:0L,UUIDMost:0L,Invisible:1b}

!~[제거한 후 땅에 떨어진 아이템이 제거되지 않게 하는 기능이 사라집니다 ]

!~["태그 empty이가 추가되었습니다" 라고 뜨지 않는다면 데이터태그가 다르게 설정되었거나 이미 제거되었습니다.]

> 가만히 있어야되는상태,최소위주UUID0,최대위주UUID0,무적상태인 엔티티에 empty 태그를 추가한다.

/kill @e[tag=empty]

>empty 태그가 붙어있는 엔티티를 모두 제거한다.


참고2 땅에 떨어진 아이템이 제거되는 기능을 아머스텐드 사용식으로 멈춘후 다시 작동시키기 - 아머스텐드 사용식

/summon minecraft:armor_stand ~ 0 ~ {NoGravity:1b,UUIDLeast:0L,UUIDMost:0L,Invisible:1b}

!~[사람의 손이 닿지 않는곳에 엔티티를 소환해주세요.]

!~[엔티티가 소환된 좌표와 그 좌표에서 y=y+1 좌표에 해당하는 장소는 플레이어가 블록을 설치할수 없으며, 바라보는곳 이상의 위치를 건드릴수 없습니다.]

!~["물체를 소환할 수 없습니다" 라고 뜬다면 이미 같은 UUID가 있습니다 UUID를 변경해주세요.]

>x=자신의좌표x,y=0,z=자신의좌표z 에 가만히 있어야되는상태,최소위주UUID0,최대위주UUID0,무적상태인 아머스텐드 라는 엔티티를 소환한다.

+제거하려면 참고1으로 이동해주세요.


참고3 - 땅에 떨어진 아이템이 제거되지 않게 하는기능 멈추기 - 스코어보드 사용식

/scoreboard objectives remove item_protect

!~["목표 'item_protect"을(를) 찾을 수 없습니다"라고 뜬다면 이름이 다르게 설정되었거나 이미 제거되어 있습니다.]

>스코어보드에 있는 이름은item_protect인 오브젝트를 제거합니다.


참고4 땅에 떨어진 아이템이 제거되는 기능을 스코어보드 사용식으로 멈춘후 다시 작동시키기 - 스코어보드 사용식

/scoreboard objectives add item_protect dummy

!~["'item_protect'(이)라는 이름의 목표가 이미 존재합니다" 라고 뜬다면, 이미 같은 오브젝트가 존재합니다 이름을 변경해주세요.]

>스코어보드에 이름은item_protect,유형은 dummy,표시는 item_protect로 되는것인 오브젝트를 추가합니다.

+스코어보드를 제거하려면 참고3으로 이동해주세요.

Comments

교과서 만드는 기분
ㄷㄷ 커맨드 언제부터 만지심?
8월 22일 부터 시작했습니다.
역시 원피스님(신호등님이 원피스님이심)
Category
Point Rank
게시글 Rank
댓글 Rank
State
  • 현재 접속자 75 명
  • 오늘 방문자 1,759 명
  • 어제 방문자 17,019 명
  • 최대 방문자 17,887 명
  • 전체 방문자 4,642,973 명
  • 전체 게시물 47,586 개
  • 전체 댓글수 31,815 개
  • 전체 회원수 16,096 명
Facebook Twitter GooglePlus KakaoStory NaverBand