TrB_03_ a91ddd438ae0484d8f06219af30d4486
마인크래프트에서 주로 건축이나 간단한 커맨드 (tp나 setblock 등)만 깨작거리다,
최근 커맨드를 통해 친구들끼리 하고자 하는 것을 개발하려고 하는 execute 명령어 입문자입니다.
사용하는 마인크래프트 버전은 1.15.2 버전입니다.
일단 지금 만들고 있는 건 터렛? 이라고 해야하나... 그런 건데, execute 명령어를 어떤 식으로 작동시켜야 한다는 정도는
대충 계획이 잡히는데, 정작 그 작동시키는 방법을 몰라 질문을 올립니다...
지금 친구들과 하고 있는 반야생 서버(포트포워딩을 통한 공개 서버가 아니라 친구들끼리만 하는 하마치 서버)에서
쓰게 될 터렛인데, 필요한 것은 터렛으로 등록된 엔티티의 주변에 특정 몬스터가 오면 자동으로 공격해주는 그런 기능을
구현해보고자 하고 있습니다.
왼손감지 명령어를 통해 서바이벌 플레이어가 특정 아이템으로 AI가 없는 터렛으로 쓰일 엔티티를 스폰하는 것 까진
어떻게든 구현했습니다만, 이제 터렛 엔티티(현재는 주민으로 했습니다)가 가장 가까운 특정 몬스터(지금은 크리퍼)를
공격하는(run effect를 통해 디버프를 걸거나, 화살 혹은 화염구 등을 날려 공격하는 등) 명령어에서 막혔습니다...
/execute if entity @e[type=minecraft:creeper] at ....
이런 식으로 이어나가지 않을까 대략 예상만 하고 있습니다.
혹시 커맨드나 명령어, 특히 execute 구문 능력자분들이 친절히 알려주셨으면 합니다...
1. 주민이 반경 x블록 이내로 다가온 크리퍼를 감지하는 명령어
2. 크리퍼가 감지되면, 그 크리퍼에게 투사체를(화살, 화염구, 눈덩이, 블록 등 어떤 것이든 무관합니다.) 날리거나,
소환사 우민의 마법 공격(집게발..?)을 소환해 공격하는 등 데미지를 줄 수단이 포함된 예제
3. 만약 여러 마리의 크리퍼가 감지될 경우, 주민으로부터 가장 가까운 크리퍼를 타겟으로 하는 방법
3가지 모두 가능한지 여부와, 가능하다면 예제 구문 한 줄씩이라도 부탁드립니다...
연쇄 커맨드블록 등을 사용해야 구현 가능해 매우 길어지게 될 것 같은데... 수고스러우시겠지만 커맨드 뉴비 하나
가르친다는 생각으로... 꼭 좀 부탁드리겠습니다.
허두
2020.04.09주민에게 마우스 포인터(십자가)를 두고 먼저 turret 태그를 붙여줍시다.
/tag 주민UUID(십자가를 갖다댄 채로 채팅창을 키면 영어,숫자, 기호로 이루어진UUID가 나옵니다) add turret
대충 3개의 질문을 요약하면,
가장 가까운 크리퍼 1마리에게 공격을 가하는(마법을 거는) 커멘드를 말씀하시는 것 같은데..
투사체를 발사하는 커멘드는 조금 어려운 관계로..(마크를 켜서 실험해봐야 하는데 지금 그럴 여건이 안되어.. 양해바랍니다ㅜㅜ)
독 효과를 거는 커멘드로 대체하도록 하겠습니다.
독 효과를 거는 커멘드:
/execute at @e[type=villager,tag=turret] as @e[type=creeper,limit=1,sort=nearest] run effect @s poison 1 1 true
부연 설명
at @e[type=villager,tag=turret]
turret 태그가 분은 주민의 위치에서 (위치 지정, 이 이후의 커멘드들은 모두 이 위치에서 실행되게 됩니다.)
as @e[type=creeper,limit=1,sort=nearest]
딱 한 마리의 가장 가까운 크리퍼가 (실행자 지정, 이 이후의 커멘드들은 모두 해당 크리퍼에게서 실행되게 됩니다.)
@s
자기 자신에게 (현재 실행자는 크리퍼로, 크리퍼가 자기 자신에게 걸게 됩니다.)
poison 1 1 true
1초동안(앞의 1) 1만큼(뒤의 1) 효과 입자는 보이지 않는(true) 독(poison) 효과
혹시라도 투사체를 쏘거나, 더 강한 데미지를 원하신다면 답글달아주세요!
여러가지 실험을 해본 후 가장 쉬운 커멘드로 다시 도움드리겠습니다 :D
허두
2020.04.09+ EZCommand 게시판에서 1.13+ execute 커멘드에 관한 강좌를 진행하고 있습니다.
아직 많이 없지만, 점점 많이 늘려나갈 계획이니 관심있으시다면 들려주시면 감사하겠습니다 :)
http://ezcommand.kro.kr
TRB
2020.04.09답변 댓글 정말 감사드립니다..! 꼭 한번 테스트 해 보고 열심히 노력해보겠습니다..!
강좌도 언제 한번 시간 나면 들려봐야지요! 감사합니다!
+ 혹시 투사체를 발사하는 커맨드는 어떤 식으로 이루어지는지 알려주실 수 있을까요...?
일단 알려주시는대로 라도 만드는 김에 테스트해보려고 합니다..!
허두
2020.04.10아, 그리고 특정 범위를 까먹었네요
as 뒤에 @e[type=creeper,limit=1,sort=nearest,distance=..n] 로 바꿔주시면 됩니다.
(distance=..n에서 n에는 범위의 정수값을 적어주시면 된답니다)
허두
2020.04.10https://www.koreaminecraft.net/ezcommand/1553461
댓글로 달기에는 좀 분량이 길어서;;
이곳에 투사체를 이용한 방법을 설명해놓았습니다!
TRB
2020.04.11늦게 확인했네요... 감사합니다!