FastAsyncWorldEdit
FastAsyncWorldEdit(FAWE)는 WorldEdit에서 갈라져 나온 마인크래프트: 자바 에디션 월드 편집 플러그인이다. WorldEdit의 선택·명령·API 사용 방식을 유지하면서 청크 단위 배치, 비동기 처리, 압축된 작업 기록과 추가 브러시·마스크·패턴을 제공한다. WorldEdit API에 의존하는 플러그인은 FAWE를 대체 구현으로 사용할 수 있다.[1]
설치
- 서버 버전과 플랫폼에 맞는 FAWE JAR을 내려받는다.
- 기존 WorldEdit JAR이 있다면 서버를 종료한 상태에서 제거하고 FAWE를
plugins폴더에 넣는다. - 서버를 시작해
plugins/FastAsyncWorldEdit/config.yml을 생성한다. - 건축 그룹별 최대 변경 블록 수, 실행 취소 기록, 허용 영역과 권한을 설정한다.
- 작은 시험 영역에서 선택·붙여넣기·실행 취소와 보호 플러그인 연동을 확인한다.
FAWE는 WorldEdit와 함께 중복 설치하는 부가 플러그인이 아니라 WorldEdit를 대신한다. WorldGuard와 PlotSquared의 보호 영역을 인식할 수 있지만, 우회 권한을 넓게 부여하면 보호 확인이 무력화될 수 있다.[2]
영역 편집
나무 도끼를 선택 도구로 받은 뒤 두 모서리를 지정하고 명령을 실행하는 흐름은 WorldEdit와 같다.
//wand //pos1 //pos2 //set stone //replace stone 70%stone,30%andesite //undo //redo
//set은 선택 영역 전체를 패턴으로 바꾸고, //replace <마스크> <패턴>은 조건에 맞는 블록만 교체한다. //copy와 //paste는 플레이어 위치를 기준점으로 사용하므로 복사할 때 서 있던 위치와 방향이 붙여넣기 결과에 영향을 준다. 공기를 제외하려면 붙여넣기 옵션을 사용하거나 복사 전에 마스크를 적용한다.
대형 영역을 복사할 때 //lazycopy는 원본 블록을 즉시 모두 메모리에 담지 않고 붙여넣는 시점에 참조하는 클립보드를 만든다. 따라서 복사 뒤 원본을 바꾸면 그 변경이 붙여넣기 결과에 반영될 수 있다. 고정본이나 장기 보관용 구조물은 일반 클립보드로 복사해 스키매틱 파일로 저장하는 편이 알맞다.[3]
마스크와 패턴
마스크는 바꿀 수 있는 블록의 조건이고 패턴은 새로 놓을 블록의 규칙이다. 단순 블록 이름 외에도 비율 혼합, 기존 상태 참조, 높이·각도·노이즈를 이용한 표현을 조합할 수 있다.
//gmask stone,dirt //replace stone 80%stone,20%andesite //gmask
//gmask는 이후 편집 전반에 적용되는 전역 마스크이므로 작업 후 인자 없이 실행해 해제한다. 마스크를 잊은 채 다음 작업을 시작하면 명령이 일부 블록에만 적용되어 오류로 오해하기 쉽다. 복잡한 표현은 작은 선택 영역에서 결과를 먼저 확인한다.
브러시와 도구
브러시는 든 아이템에 작업을 바인딩해 바라보는 지점에 반복 적용한다. 구형·원통형·혼합·높이맵·스플라인·레이어·표면 브러시 등을 이용할 수 있으며, //mask와 함께 쓰면 브러시가 바꿀 대상을 제한할 수 있다.
//brush sphere stone 5 //mask grass_block,dirt //brush none
첫 줄은 반경 5의 구형 돌 브러시를 현재 아이템에 연결하고, 두 번째 줄은 잔디 블록과 흙만 바꾸도록 제한한다. 작업을 마치면 //brush none으로 바인딩을 해제한다. FastAsyncVoxelSniper, Arceon, GoPaintAdvanced도 브러시나 건축 도구를 제공하므로 같은 아이템과 명령 별칭이 겹치지 않는지 확인할 필요가 있다.
기록과 성능
FAWE는 블록 배치, 청크 배치, 새 월드·지역 생성을 위한 CFI 방식 등 작업에 맞는 처리 경로를 사용한다. 모든 작업이 무조건 서버 성능에 영향을 주지 않는 것은 아니다. 매우 큰 선택, 조명 계산, 청크 생성과 실행 취소 데이터는 CPU·메모리·디스크를 소모한다.
//undo와 //redo 외에 //inspect, //history rollback으로 편집 기록을 조사하고 복구할 수 있다. //fast는 기록을 우회하므로 결과를 되돌리기 어려워지며, 운영 월드에서 상시 사용하기보다 백업과 명확한 작업 절차가 있을 때 제한적으로 사용한다.[4]
서버 관리자는 config.yml에서 그룹별 변경량·엔티티·타일 엔티티·메모리·반복 횟수 제한과 기록 압축·보관 기간을 조절할 수 있다. 스레드 수나 큐 값을 다른 서버의 예시 그대로 복사하기보다 실제 하드웨어와 동시 사용자 수에 맞춰 관찰해야 한다.
개발자 API
FAWE는 WorldEdit API 호환성을 유지하므로 EditSession과 클립보드 API를 사용하는 플러그인이 함께 동작할 수 있다. 추가 API는 WorldEdit API를 대신하기보다 비동기 작업과 FAWE 고유 기능을 보조한다.[5] 비동기 스레드에서 Bukkit API까지 임의로 호출해도 된다는 뜻은 아니므로 월드 편집 이외의 API는 각 서버 구현의 스레드 규칙을 따라야 한다.
같이 보기
- WorldEdit
- FastAsyncVoxelSniper
- Arceon
- GoPaintAdvanced
- VoxelSniper
- goBrush
- Axiom
- FastAsyncWorldEdit/명령어
- 마인크래프트/건축
- 마인크래프트/플러그인
각주
- ↑ FastAsyncWorldEdit, Modrinth. 2026년 8월 5일 확인.
- ↑ Download FastAsyncWorldEdit, IntellectualSites. 2026년 8월 5일 확인.
- ↑ FastAsyncWorldEdit, GitHub. 2026년 8월 5일 확인.
- ↑ Logging and Rollback, GitHub. 2026년 8월 5일 확인.
- ↑ FaweAPI, FastAsyncWorldEdit. 2026년 8월 5일 확인.