명령 블록이 특정 거리에서 작동을 중지합니까?

Jan 11 2021

이것은 마인 크래프트 기반암 에디션에 관한 것입니다. 마을에 들어가면 플레이어를 어드벤처 모드로, 떠날 때 서바이벌 모드로 자동 변경하려고합니다. 반복되는 명령 블록에서 실행되는 함수를 만들었습니다. 아래 명령은 기본적으로 2 개의 마을을 만듭니다. 플레이어 1이 플레이어 2 마을에 들어가면 모험 모드가됩니다. 플레이어 1이 자신의 마을에 들어 오면 크리에이티브 모드로 전환됩니다. 두 마을을 떠나면 생존 모드가됩니다.

#run this one time to create a townMode variable
#scoreboard objectives add townMode dummy 

scoreboard players set @a[scores={townMode=!0}] townMode 0

#town for player 1
scoreboard players set @a[name=player1name, scores={townMode=!1}, x=501, y=62, z=151, dx=49, dy=49, dz=49] townMode 1
scoreboard players set @a[name=!player1name, scores={townMode=!2}, x=501, y=62, z=151, dx=49, dy=49, dz=49] townMode 2

#town for player 2
scoreboard players set @a[name=player2name, scores={townMode=!1}, x=501, y=62, z=93, dx=49, dy=49, dz=49] townMode 1
scoreboard players set @a[name=!player2name, scores={townMode=!2}, x=501, y=62, z=93, dx=49, dy=49, dz=49] townMode 2

gamemode 0 @a[scores={townMode=0},m=!0]
gamemode 1 @a[scores={townMode=1},m=!1]
gamemode 2 @a[scores={townMode=2},m=!2]

기본적으로 작동하지만 너무 멀리 있으면 명령 블록이 명령 실행을 중지한다는 것을 알았습니다. 명령 블록을 마을 중앙에 놓으면 작동하지만 정말 멀리 놓으면 일관되게 트리거되지 않는 것 같습니다. 나는 테이블에 머리를 치고 몇 시간 후에 이것을 발견했습니다. 명령 블록에서 너무 멀리 떨어져 있으면 commandblockoutput을 통해 명령 실행이 중지되는 것을 보았습니다. 마을에서 멀리 떨어진 명령 블록을 사용할 수 있지만 여전히 작동하는 해결 방법이 있습니까?

답변

3 Sciborg Jan 12 2021 at 00:55

명령 블록은 해당 블록이 위치한 청크가 언로드되면 실행이 중지된다는 점에서 다른 블록과 동일한 규칙을 따릅니다.

이 질문은 비슷한 것을 물었습니다. @MBraedley가 제안한 한 가지 해결책 :

월드 스폰을 둘러싼 청크 는 항상로드되므로 항상 실행하고 싶은 명령 블록을 배치하기에 가장 좋은 장소입니다. /setworldspawn명령을 사용하여 월드 스폰 위치를 변경할 수 있습니다 .

2 George Jan 12 2021 at 10:02

아아 기반암 명령 블록의 경우 월드 스폰 지역에 배치 되더라도 너무 멀리 떨어져있을 때로드 상태를 유지하지 않습니다. 실험적으로 시도했는데 너무 멀어지면 명령 실행이 중지됩니다. 그러나 최대 10 개의 '틱킹 영역'을 추가 할 수 있다는이 게시물 을 찾았 습니다. 이것은 기반암의 매력처럼 작동합니다! 그들이 자바 에디션에서 작동하는 것처럼 보이고 올바른 방향으로 나를 이끌었 기 때문에 답변에 찬성 할 것입니다.

/ tickingarea x1 y1 z1 x2 y2 z2 chunkName