방법은 사람마다 다를 수 있음!
이 글은 -마- 갤러리에 쓰여진 '디노니'의 글임
gall.dcinside.com/minecraft/80680
이 글은 -마- 갤러리에 쓰여진 글임. 만약 다른 곳에서 이게 보인다면 그건 불펌임.
베드락 이스케이프 하다보면 가끔 시간 한참 지나도 아이템 안사라지게 하는 맵이 있음
그런거 어떻게 만드냐구?
생각보다 매우 간단함
반복형 | execute as @e[type=item] run data remove entity @s Age |
execute as @e[type=item] unless data entity @s {PickupDelay:32767s} run data remove entity @s Age
로 해도 된다
해석
execute는 뭔가를 '감지'한다는 뜻이라고 하면 쉬움
as는 '명령어의 주체'를 지정함
@e는 모든 엔티티를 뜻함
@e[type=item]은 모든 아이템을 뜻함
run은 execute에서 벗어나 명령어를 실행함
data remove는 nbt를 지운다(지우면 0이 됨)
entity @s는 이 명령어의 주체를 뜻함
Age는 '이 아이템이 얼마나 오래됐나'를 뜻하며, 6000이 되면 아이템이 사라짐
그래서 계속 0으로 만들어서 사라지지 않게 하는거임
의문이 하나 생길수도 있음
명령어 밑에 작은 명령어 또 있는건 뭔지에 대해서
그거는...
버?그
일단 버그가 맞는진 잘 모르겠는데
이걸 쓰면 /give로 아이템 줄때 아이템이 2배가 된다!
무슨 의미냐면
아는 게이들도 있겠지만 /give는 머리 위에 아이템을 소환하고, 아이템을 준 후에 머리 위 아이템을 지운다
아이템이 지워지는 원리가 /give로 소환할때 Age를 5999로 하는거라서
Age를 0으로 만들면 아이템이 지워지지 않음
근데 /give로 소환된 아이템은 PickupDelay가 32767이라 그것도 지워야 먹을 수 있음
그래서 unless data entity @s {PickupDelay:32767s}를 넣어뒀음
unless data entity @s는 '특정 nbt가 없는 이 엔티티'를 말함
왜 따로 뒀냐구?
아이템이 있으면 항시 반복되는 커맨드니까 단계가 많으면 최적화가 약간 안좋아지더라구
한 2000개쯤 있으면 티 남
딱히 쓸모는 없지만 일단 그렇게 했음
이것도 기믹이라고 봐야하나
댓글 0