설정 스키마
설정 스키마
SeoulTown은 세 개의 주요 YAML을 사용합니다.
| 파일 | 용도 |
|---|---|
plugins/SeoulTown/config.yml | 기본 설정, 권한 노드, 보상 적용 방식 |
plugins/SeoulTown/jobs.yml | 직원/청 판정용 LuckPerms 권한 |
plugins/SeoulTown/levels.yml | 성장 단계, 조건, 비용, 보상 |
config.yml
settings: max-level: 10 charge-source: TOWN_BANK apply-claim-bonus: true
messages: prefix: "[SeoulTown]"
permissions: admin: seoultown.admin status: seoultown.status upgrade: seoultown.upgrade| 필드 | 설명 |
|---|---|
settings.max-level | 운영상 최대 성장 단계입니다. 현재 기획은 10입니다. |
settings.charge-source | 비용 차감 기준입니다. 현재 구현은 TOWN_BANK 기준입니다. |
settings.apply-claim-bonus | 레벨업 시 Towny 청크 한도가 부족하면 bonus block으로 보정할지 정합니다. |
permissions.admin | validate/reload 등 관리 권한입니다. |
permissions.status | 성장 단계 조회 권한입니다. |
permissions.upgrade | 성장 단계 상승 명령 권한입니다. |
jobs.yml
jobs: agriculture: display: "농업청" permission: "seoul.job.agriculture" metal: display: "금속산업청" permission: "seoul.job.metal"levels.yml의 requirements.jobs는 이 job id를 참조합니다.
직원 판정은 LuckPerms 권한을 기준으로 합니다. 예를 들어 어떤 주민에게 seoul.job.agriculture 권한이 있으면 농업청 직원으로 계산됩니다.
levels.yml
levels: 1: name: "새싹" cost: 10000 requirements: residents: 3 jobs: agriculture: 1 rewards: max-residents: 7 max-claims: 36 unlock-blocks: [wooden_generator]| 필드 | 설명 |
|---|---|
name | 성장 단계 표시 이름입니다. |
cost | 레벨업 시 마을 은행에서 차감할 골드입니다. |
requirements.residents | 필요한 마을원 수입니다. |
requirements.jobs | 필요한 직원 수입니다. key는 jobs.yml의 job id입니다. |
rewards.max-residents | 이 단계에서 의도한 마을 구성원 한도입니다. 현재는 표시/기준 데이터이며 초대 차단은 별도 구현 대상입니다. |
rewards.max-claims | 이 단계에서 의도한 청크 한도입니다. 부족분은 Towny bonus block으로 보정합니다. |
rewards.unlock-blocks | 이 단계에서 해금할 기능 블록 ID입니다. SeoulEnergy의 blockId와 맞춰야 합니다. |
운영 주의
unlock-blocks는 SeoulEnergy의 blocks.<blockId>와 연결됩니다.
예를 들어 SeoulTown에서 wooden_generator를 해금하고 SeoulEnergy에서 wooden_generator.required-town-level: 1을 설정하면, 해당 마을이 Lv.1 이상일 때 설치가 허용됩니다.