특정 블럭을 우클릭할때 효과를 나타나게 하고싶은데 이 블럭이 몇십개가 넘어가다보니
on rightclick:
@if location of event-block is location( ••• )
이렇게 하나하나 if구문 쓰는건 비효율적일거같아서 좌표를 {블럭위치::*}에 코드상에서 따로 저장해서
on rightclick:
@loop 50 times:
@@if location of event-block is {블럭위치::%loop-number%}:
@@@message "안녕"
이런식으로 만들고싶은데 저 블럭위치 배열을 코드상에서 좌표형식으로 만들 방법 있노?
(코드상에서 넣는다는건
C++에서의 int a[5] = {1,2,3,4,5} 이런 형식을 스크립트에서는 어떻게 구현하는지)
command /지정:@trigger:@@if player is op:@@@set {지정} to target block's location@@@message "지정됨"command /지정끝:@trigger:@@if player is op:@@@delete {지정}@@@message "삭제됨"on rightclick:@if location of block is {지정}:@@~~~작동이런식으로 스크립트에서 좌표로 말고 마인크래프트 안에서 지정해보셈스크립트에는 리스트 대신 배열이라고{변수::*} 형식으로 리스트처럼 사용할 수 있음
function getLocIndex(loc: location) :: string:@loop {loc::*}:@@loop-value is {_loc}@@return loop-index@return "null"command /getIndex@trigger:@@set {_loc} to targeted block of player@@set {_index} to getLocIndex({_loc})@@stop if ({_index} is "null")@@send "%{_loc}% 좌표의 배열 순번은 %{_index}% 번째 임.“ to player바라보는 블럭의 해당 좌표가 배열 변수 내에 있으면,배열의 순서 번호(인덱스)를 출력,없을 경우 null 이 반환 됨
또한 코드상 넣는 방법은 set {loc::*} to (location(...)), (location(...)), (location(...)) and (location(...)) 으로 가능 함