특정 태그가 있는 엔티티가 맵에 존재하면 스코어보드에 점수를 추가하고
그 엔티티가 사라지면 스코어보드에 추가된 점수를 깍는 커맨드를 만들고 있음
예를 들어 A라는 태그를 가진 크리퍼가 맵에 1마리 존재하면 red라는 점수에 1점을 추가하고
그 크리퍼가 죽든 디스폰하든 어떻게든 맵에서 사라지면 추가된 점수 1점만큼을 차감하는 커맨드
맵에 존재하는 크리퍼가 2마리면 2점 / 3마리면 3점 / 4마리면 4점 이런 식으로...
말로만 들으면 간단해 보이긴 한데 막상 혼자 만들면 뭔가 애매하게 되는거 같아서..
이에 관해 잘 아는 게이를 답변 부탁드림
나도 그런 커맨드는 첨이노
그거 하려면 red 태그를 개체마다 전부 다 다르게 부여해야함. red1 red2 red3... 이런식으로. 그래야 1마리 있으면 1점 2마리 있으면 2점 이런식으로 구현이 됨. 당연히 정말정말 복잡하고 랙걸릴정도로 많은 커맨드를 사용해야하니 그냥 못한다고 보면 됨. 물론 내가 베드락 유저라 자바에선 어떻게 다를지도 모르겠노
될 지 안될지 모르겠는데 이 방법은 어떰? 1. red 태그로 엔티티 감지, 감지된 엔티티에게 새로운 태그 red1을 부여 (execute as @e[tag=red] run tag @s add red1) 2. red1 태그를 가지고 있는 엔티티의 red 태그를 제거 (execute as @e[tag=red1] run tag @s remove red) 3. red1 태그를 가지고 있는 만큼 스코어보드를 1점 올림 (엔티티 세마리가 red1태그를 가지고 있다면 3점이 오름) (execute if entity @e[tag=red1] run scoreoboard players add @p <scoreboard> 1) 4. red1의 엔티티에게 red 태그 부여 (execute as @e[tag=red1] run t
ag @s add red) 5. red 태그를 가지고 있는 엔티티의 red1 태그를 제거 (execute as @e[tag=red] run tag @s remove red1) 1번의 경우 반복형 명령 블록으로 실행, 후에는 체인 조건으로 걸면 될 것 같음. 중요한건 3번 이후 red1 태그를 바로 지우는 작업이 아니기 때문에, 1점이 아니라 2점(2틱)으로 실행 될 가능성이 있을 수도 있음.. 잘 모르겠노. 이 경우 또 다른 스코어보드에 점수를 저장하고, operate로 오르는 점수 만큼 나눠 1점으로 계산하는 방법이 있겠노
내가 생각하기에 가장 간단한 방법은 감지할 엔티티가 크리퍼고, 스코어보드 이름이 score이고, 더미 엔티티로 이름이 op인 아머스탠드를 이용한다면 1. scoreboard players set @e[type=armor_stand, name="op"] score 0 반복/무조건/항상 2. execute at @e[type=creeper] run scoreboard players add @e[type=armor_stand, name="op"] score 1 체인/무조건/항상 로 할 것 같노 score을 0으로 맞춘 후 크리퍼 각각마다 더미 엔티티에게 score을 1씩 더하는거지