Scape
종류 건축 보조
개발 PLAYCITY
최신 개발 버전 0.4.0
지원 플랫폼 Paper 26.2 build 111
필요 Java Java 25
서버 API Paper API 26.2
의존성 WorldEdit 필수, FastAsyncWorldEdit·WorldGuard 선택
데이터 저장 YAML 설정·스키매틱 파일
Folia 지원하지 않음
상태 개발 중
라이선스 GNU GPL v3.0 only

Scape플레이시티 블록에서 건축 보조 기능을 제공하기 위해 개발한 마인크래프트 플러그인이다. Paper 서버 환경에서 동작하며, WorldEditFastAsyncWorldEdit와 연동하여 스키매틱 기반 브러시 기능을 제공한다. 나무, 수풀 등 반복적으로 배치되는 소형 구조물을 빠르게 배치하기 위한 TreeBrush 기능을 중심으로 구성되어 있다.

Scape의 TreeBrush는 사용자가 손에 든 아이템에 특정 브러시 그룹을 지정한 뒤, 월드의 블록을 클릭하여 미리 준비된 스키매틱을 배치하는 방식으로 작동한다. 배치 위치는 클릭한 블록의 한 칸 위를 기준으로 하며, 작업 결과는 WorldEdit 편집 세션과 연동되어 //undo//redo로 관리할 수 있다.

브러시는 설정 파일에서 정의한 그룹을 기준으로 불러온다. 예를 들어 여러 개의 수풀 스키매틱을 bush 그룹으로 묶어두면, 사용자는 /scape treebrush bush 명령어로 현재 손에 든 아이템에 해당 브러시를 지정할 수 있다. 이후 같은 아이템으로 블록을 클릭하면 그룹에 포함된 스키매틱 중 하나가 선택되어 배치된다.

주요 기능

  • 아이템에 브러시를 지정하여 사용
  • 설정된 스키매틱 그룹을 클릭한 위치에 배치
  • 여러 스키매틱 중 하나를 무작위로 선택
  • 설정된 회전 단위에 따라 무작위 회전 적용
  • 같은 스키매틱과 같은 각도가 연속으로 선택되지 않도록 보정
  • 좌클릭과 우클릭을 통한 배치 지원
  • WorldEditFastAsyncWorldEdit의 되돌리기 기능과 연동
  • 잘못된 설정을 적용하지 않는 설정 검증 및 리로드
  • WorldGuard가 설치된 경우 전체 배치 범위의 건축 권한 확인
  • FastAsyncWorldEdit 환경에서 스키매틱 읽기와 배치 작업의 비동기 처리

사용 방법

사용자는 먼저 사용할 스키매틱 파일을 plugins/Scape/schematics/trees/ 폴더에 배치한다. 이후 plugins/Scape/config.yml에서 브러시 그룹을 정의하고, 서버 안에서 설정을 검사한 뒤 다시 불러온다.

/scape treebrush validate
/scape treebrush reload

브러시를 사용하려면 아이템을 손에 들고 그룹 이름을 지정한다.

/scape treebrush bush

명령어가 실행되면 현재 손에 든 아이템에 bush 브러시가 지정된다. 이후 해당 아이템으로 블록을 좌클릭하거나 우클릭하면, 클릭한 블록의 한 칸 위에 그룹에 포함된 스키매틱 중 하나가 배치된다. 브러시 사용을 중단하려면 다음 명령어로 현재 아이템의 바인딩을 해제한다.

/scape treebrush off

WorldEdit 형식의 명령어 입력을 선호하는 경우 다음과 같이 사용할 수도 있다.

//scape treebrush bush

명령어

명령어 설명
/scape treebrush <그룹> 현재 손에 든 아이템에 지정한 브러시 그룹을 바인딩한다.
/scape treebrush <그룹> -r <각도> 지정한 회전 단위를 사용해 브러시를 바인딩한다.
/scape treebrush off 현재 손에 든 아이템의 브러시 바인딩을 해제한다.
/scape treebrush status 현재 손에 든 아이템의 브러시 바인딩 정보를 확인한다.
/scape treebrush list 현재 불러온 브러시 그룹의 목록을 표시한다.
/scape treebrush info <그룹> 지정한 그룹의 설정 세트와 스키매틱 목록을 표시한다.
/scape treebrush validate 설정 파일과 스키매틱 참조를 검사하되 현재 설정에는 적용하지 않는다.
/scape treebrush reload 검증에 성공한 설정 파일과 스키매틱 목록을 다시 불러온다.
//scape treebrush <그룹> WorldEdit 명령 형식의 별칭으로 브러시를 바인딩한다.

설정

Scape의 설정은 plugins/Scape/config.yml에서 관리한다. 설정은 브러시의 동작 방식을 정의하는 sets와 실제로 사용할 스키매틱 목록을 정의하는 groups로 나뉜다.

treebrush:
  debug: false
  version: 1
  max-range: 200
  protection:
    respect-worldguard: true
  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"

위 예시에서 실제 브러시 이름은 bush이다. setsdefault는 회전, 무작위 선택 여부, 붙여넣기 방식 등을 정하는 설정 묶음이며, groups의 각 항목은 사용자가 명령어로 불러올 수 있는 브러시 그룹이다. max-range는 허공을 클릭했을 때 대상 블록을 찾는 최대 거리이며, respect-worldguard가 활성화되어 있으면 WorldGuard의 건축 권한을 확인한다.

권한

권한 설명 기본값
scape.treebrush.use TreeBrush 사용 권한 OP
scape.treebrush.reload 설정 리로드 권한 OP
scape.treebrush.bypass-protection Scape의 WorldGuard 보호 검사를 우회할 수 있는 권한 OP

운영 참고

구조물이 일부만 배치되는 경우에는 Scape의 설정뿐 아니라 저장된 스키매틱의 선택 범위를 함께 확인해야 한다. WorldEdit으로 스키매틱을 저장할 때 선택 영역이 전체 구조물을 포함하지 않으면, Scape에서도 해당 파일에 저장된 일부 블록만 배치된다.

브러시 이름을 찾을 수 없다는 메시지가 표시되면 config.ymlgroups 항목에 해당 이름이 정의되어 있는지 확인한다. 스키매틱 파일을 찾을 수 없다는 경고가 표시되면 schematic-directory 경로와 파일명을 확인한다.

설정을 변경한 뒤에는 /scape treebrush validate로 세트와 그룹 참조, 스키매틱 경로 및 파일 존재 여부를 검사할 수 있다. 리로드 검증에 실패하면 기존에 정상적으로 적용된 설정을 유지하며, 자세한 오류는 명령 응답과 서버 콘솔에 표시된다.

개발 연혁

시기 내용
2026년 1월 Scape 개발 착수
2026년 1월 TreeBrush 기본 기능 구현
2026년 1월 WorldEdit 형식의 //scape 명령 별칭 추가
2026년 2월 브러시 클릭 처리 보완
2026년 3월 아이템 바인딩 구조와 설정 파일 구조 개편
2026년 5월 0.1.0 초기 빌드 생성 및 서버 적용 점검
2026년 6월 Scape 플러그인 공개
2026년 7월 0.2.0 안정화 업데이트

개발 상태

Scape는 TreeBrush 기능을 중심으로 개발되고 있다. 0.4 계열은 Java 25와 Paper 26.2 build 111을 지원 기준으로 하며, WorldEdit 7.4.4 또는 FastAsyncWorldEdit 2.15.3 환경을 대상으로 검증한다. WorldGuard 연동은 선택 사항이며 Folia 호환 플러그인으로 선언하지 않는다.

라이선스

Scape는 GNU General Public License v3.0 only로 배포된다. 재배포할 때에는 GPL이 요구하는 라이선스 고지와 대응 소스 제공 의무를 따라야 한다.