Scape
Scape는 플레이시티 블록에서 건축 보조 기능을 제공하기 위해 개발 중인 마인크래프트 플러그인이다. Paper 서버 환경에서 동작하며, WorldEdit 및 FastAsyncWorldEdit와 연동하여 스키매틱 기반 브러시 기능을 제공한다. 현재는 나무, 수풀 등 반복적으로 배치되는 소형 구조물을 빠르게 배치하기 위한 TreeBrush 기능을 중심으로 개발되고 있다.
Scape의 TreeBrush는 사용자가 손에 든 아이템에 특정 브러시 그룹을 지정한 뒤, 월드의 블록을 클릭하여 미리 준비된 스키매틱을 배치하는 방식으로 작동한다. 배치 위치는 클릭한 블록의 한 칸 위를 기준으로 하며, 작업 결과는 WorldEdit 편집 세션과 연동되어 정상 적용된 작업을 //undo로 되돌릴 수 있다.
브러시는 설정 파일에서 정의한 그룹을 기준으로 불러온다. 예를 들어 여러 개의 수풀 스키매틱을 bush 그룹으로 묶어두면, 사용자는 /scape treebrush bush 명령어로 현재 손에 든 아이템에 해당 브러시를 지정할 수 있다. 이후 같은 아이템으로 블록을 클릭하면 그룹에 포함된 스키매틱 중 하나가 선택되어 배치된다.
주요 기능
- 아이템에 브러시를 지정하여 사용
- 설정된 스키매틱 그룹을 클릭한 위치에 배치
- 여러 스키매틱 중 하나를 무작위로 선택
- 설정된 회전 단위에 따라 무작위 회전 적용
- 같은 스키매틱과 같은 각도가 연속으로 선택되지 않도록 보정
- 좌클릭과 우클릭을 통한 배치 지원
- WorldEdit 및 FastAsyncWorldEdit의 되돌리기 기능과 연동
사용 방법
사용자는 먼저 사용할 스키매틱 파일을 plugins/Scape/schematics/trees/ 폴더에 배치한다. 이후 plugins/Scape/config.yml에서 브러시 그룹을 정의하고, 서버 안에서 설정을 다시 불러온다.
<syntaxhighlight lang="text"> /scape treebrush reload </syntaxhighlight>
브러시를 사용하려면 아이템을 손에 들고 그룹 이름을 지정한다.
<syntaxhighlight lang="text"> /scape treebrush bush </syntaxhighlight>
명령어가 실행되면 현재 손에 든 아이템에 bush 브러시가 지정된다. 이후 해당 아이템으로 블록을 좌클릭하거나 우클릭하면, 클릭한 블록의 한 칸 위에 그룹에 포함된 스키매틱 중 하나가 배치된다. 브러시 사용을 중단하려면 다음 명령어로 현재 아이템의 바인딩을 해제한다.
<syntaxhighlight lang="text"> /scape treebrush off </syntaxhighlight>
WorldEdit 형식의 명령어 입력을 선호하는 경우 다음과 같이 사용할 수도 있다.
<syntaxhighlight lang="text"> //scape treebrush bush </syntaxhighlight>
명령어
| 명령어 | 설명 |
|---|---|
/scape treebrush <그룹>
|
현재 손에 든 아이템에 지정한 브러시 그룹을 바인딩한다. |
/scape treebrush <그룹> -r <각도>
|
지정한 회전 단위를 사용해 브러시를 바인딩한다. |
/scape treebrush off
|
현재 손에 든 아이템의 브러시 바인딩을 해제한다. |
/scape treebrush reload
|
설정 파일을 다시 불러온다. |
//scape treebrush <그룹>
|
WorldEdit 명령 형식의 별칭으로 브러시를 바인딩한다. |
설정
Scape의 설정은 plugins/Scape/config.yml에서 관리한다. 설정은 브러시의 동작 방식을 정의하는 sets와 실제로 사용할 스키매틱 목록을 정의하는 groups로 나뉜다.
<syntaxhighlight lang="yaml"> treebrush:
version: 1 schematic-directory: "schematics/trees"
sets:
default:
default-rotation-step: 90
randomize-rotation: true
paste:
ignore-air: true
include-entities: false
include-biomes: false
anchor:
mode: "BOTTOM_CENTER"
groups:
bush:
set: "default"
schematics:
- "bush1.schem"
- "bush2.schem"
</syntaxhighlight>
위 예시에서 실제 브러시 이름은 bush이다. sets의 default는 회전, 무작위 선택 여부, 붙여넣기 방식 등을 정하는 설정 묶음이며, groups의 각 항목은 사용자가 명령어로 불러올 수 있는 브러시 그룹이다.
권한
| 권한 | 설명 | 기본값 |
|---|---|---|
scape.treebrush.use
|
TreeBrush 사용 권한 | OP |
scape.treebrush.reload
|
설정 리로드 권한 | OP |
운영 참고
구조물이 일부만 배치되는 경우에는 Scape의 설정뿐 아니라 저장된 스키매틱의 선택 범위를 함께 확인해야 한다. WorldEdit으로 스키매틱을 저장할 때 선택 영역이 전체 구조물을 포함하지 않으면, Scape에서도 해당 파일에 저장된 일부 블록만 배치된다.
브러시 이름을 찾을 수 없다는 메시지가 표시되면 config.yml의 groups 항목에 해당 이름이 정의되어 있는지 확인한다. 스키매틱 파일을 찾을 수 없다는 경고가 표시되면 schematic-directory 경로와 파일명을 확인한다.
개발 상태
Scape는 현재 TreeBrush 기능을 중심으로 개발 중인 초기 버전이다. 0.1.0 기준으로 Paper 1.21 계열, WorldEdit 7.3 이상 환경을 대상으로 하며, FastAsyncWorldEdit가 설치된 서버에서도 사용할 수 있도록 설계되어 있다.