마인크래프트 강좌/데이터팩 강좌

마인크래프트 데이터팩 강좌 [부록] Number Providers

Potan 2021. 6. 25. 14:24
반응형

안녕하세요 Potan입니다.

데이터팩 강좌를 쓰다보니 Number Providers라는 내용이 자주 나오더군요

아무래도 강좌로 따로 정리해놔야 편할것같습니다.

수 제공자나 숫자 제공자라고 적기에는 좀 어색해서 영어 그대로 적겠습니다.

 

잘 못본것같다면 최근 강좌에 늘 나오던 "범위를 지정할 수 있습니다."에 Number Providers가 사용된다 보시면 됩니다.

 

  • 기본 ( {} )
    • type - 제공자의 유형입니다. 기본값 constant

 

  • constant - 상수입니다. type 태그가 없을 경우 다 생략하고 숫자만 적으면 됩니다.
    • value - 정확한 값을 적어야합니다.

  • uniform - 두 값 사이에서 균일 분포로 무작위 숫자를 뽑습니다. (두 값 포함) 
    • min - 최솟값으로 number provider를 사용합니다.
    • max - 최댓값으로 number provider를 사용합니다. 

    • type을 생략하고 바로 min, max를 사용하면 이 유형으로 설정됩니다.

  • binomial - 이항분포를 따르는 무작위 숫자를 뽑습니다. (p의 확률로 n번 시도해서 성공한 숫자)
    • n - 시행 횟수 - number provider를 사용합니다.
    • p - 성공 확률 - number provider를 사용합니다. (0 ~ 1)

  • score - 스코어보드의 값을 불러옵니다. (1.17 이후부터)
    • target - 점수를 불러올 엔티티를 선택합니다.
      • type - 점수를 불러올 엔티티를 어떻게 불러올지 정합니다.
        • fixed - 고정된 엔티티에게 점수를 불러옵니다.
          • name - 불러올 엔티티의 UUID 또는 플레이어 이름입니다.

        • context - 특정 엔티티에게서 불러옵니다. 기본값입니다.
          • target - 가져올 엔티티입니다. type 태그를 적어놓지 않았다면 바로 밑 내용만 적어도 됩니다. 
            • this - 해당 엔티티입니다.
            • killer - 해당 엔티티를 죽인 엔티티입니다.
            • direct_killer - 해당 엔티티를 죽인 원인 엔티티입니다. (ex) 화살로 죽인 스켈레톤))
            • player_killer - 해당 엔티티를 죽인 플레이어입니다.

    • score - 해당 점수의 이름입니다.
    • scale - 해당 점수에 곱해질 값입니다. (선택사항)

 

예시

1. amount 에 상수 5를 넣기

둘다 같은겁니다.

 

2. amount에 1 ~ (2 ~ 5) 사이의 무작위 값을 넣기

min, max도 number provider를 사용하기에 uniform을 두번 사용한겁니다.

또한 type 없이도 min과 max가 있다면 uniform으로 인식합니다.

 

3. amount에 n = 10, p = 0.5의 이항분포로 무작위 값을 넣기

 

4. amount에 해당 엔티티의 count 스코어보드 점수를 2배해서 넣습니다.

반응형