개인 자료란 (JE)

  서버 커뮤니티

Profile island 대표칭호 없음
Profile

질문하기 스크립트

아이템 들고 우클릭시

2023.11.26 조회 수 103 추천 수 0
이해도 초보자 
게임버전 (JE) 1.19.3 
게임버전 (BE) 관련없음 

특정 아이템을 들고 우클릭시 사용자 5칸 앞에 벽을 세우고 5초뒤에 삭제하는 방법이 있을까요??

5개의 댓글

피코
2023.11.26

저가 제대로 이해 한지는 모르겠지만

 

on right click:

@if player's tool is paper:

@@remove 1 of player's tool from player's tool

@@spawn armor stand at player with nbt "{NoGravity:1b, Invisible:1b}"

@@set {_e} to spawned entity

@@set the block 5 in front of {_e} to bedrock

@@set the block above the block 5 in front of {_e} to bedrock

@@wait 100 tick

@@set the block 5 in front of {_e} to air

@@set the block above the block 5 in front of {_e} to air

@@kill {_e}

 

와 같이 아머스텐드를 소환하고 아머스텐드 기준으로 블럭을 소환하고 삭제하였습니다.

이거를 응용 하시면 만드실 수 있으시겠습니다!

island
2023.11.27
@피코

5칸 앞에는 설치가 잘 됩니다. 혹시 5x5벽 을 세우고 싶은데 가능할까요?

 

피코
2023.11.27
@island

스크립트 상 이구문으로는 완벽히 원하는 방향으로 설치가 힘듭니다. 하지만 yaw를 이용한 노가다 작업이 가능합니다. 플레이어의 좌우 방향에 따라 작업 량에 따라 그 디테일이 갈리긴 합니다. 아니면 그냥 동 서 남 북으로 설치하는 방법도 있습니다 . 그경우 에는 set {_face} to player's horizontal facing 로 플레아어의 얼굴 방향을 저장하고 if {_face} is north or south: 이렇게 감지 하여 블럭 설치를 할 수있습니다.

블럭 설치와 같은 경우에는 만약 내가 앞 5칸 왼쪽 2칸 자리에 베드락을 설치하고 싶다면

set the block 2 left the block 5 in front of 대상 to bedrock 와 같이 짤 수 있고

만약 내가 앞 5칸 왼쪽 1칸 위 1 칸 자리에 베드락을 설치 하고 싶다면

set the block 1 above the block 1 left the block 5 in front of 대상 to bedrock

과같이 구문을 짤 수 있습니다.

island
2023.11.27
@피코

set {_e} to block 10 blocks in front of player's eyes

set {_e} to block 2 blocks below {_e}

set {_loc_1} to block 2 blocks right of {_e}

set {_e} to block 10 blocks in front of player's eyes

set {_e} to block 2 blocks above {_e}

set {_loc_2} to block 2 blocks left of {_e}

add all blocks within {_loc_1} and {_loc_2} to {_list::*}

loop {_list::*}:

set block at loop-value to stone bricks

wait 5 seconds

loop {_list::*}:

set block at loop-value to air

delete {_list::*}

이런식으로 코드를 짰습니다. south, north 일 때는 5x5칸 벽이 잘 생성이 되는데

east, west 일 때 벽이 이상하게 생성이 됩니다..

피코
2023.11.28
@island

east, west 일때는 방향을 바꾸어 주시면 될거같습니다. 저도 이유는 모르겠지만 스크립트는 바라보고 있는 방향에 x z를 기준으로 설정되어지는 것으로 보아집니다..