가이드
Paper 플러그인 만드는 법
2026년 10월 7일 업데이트
Paper는 플러그인용으로 가장 많이 쓰이는 Minecraft 서버 소프트웨어예요. Spigot 플러그인을 실행하고 그 위에 더 크고 빠른 API를 더해요. Paper 플러그인은 paper-api에 대해 컴파일되는 Java(또는 Kotlin) 프로젝트예요. 직접 만들 때나 AI가 대신 빌드해 줄 때 무엇이 필요한지 알려드려요.
시작하기 좋은 예시예요.
Codexe로 이걸 생성하기단계별 안내
1.Minecraft 버전 선택
서버가 실행하는 버전을 쓰세요. 그 버전이 Java 버전을 결정해요: 1.20.5 이전은 Java 17, 1.20.5부터는 Java 21, 26.x는 Java 25.
2.프로젝트 만들기
PaperMC 저장소에서 가져온 해당 버전의
paper-api의존성이provided/compileOnly범위로 들어간 Gradle 또는 Maven 프로젝트.3.메인 클래스 작성
JavaPlugin을 상속하고,onEnable()에서 명령어와 리스너를 등록하는 클래스.4.서버에 플러그인 알리기
plugin.yml(이름, 버전, main, api-version, 명령어, 권한). Paper는 자체 로딩 규칙이 있는paper-plugin.yml도 지원해요.5.빌드와 테스트
.jar를 빌드해서 Paper 테스트 서버의
plugins/폴더에 넣고, 시작한 뒤 콘솔에서 오류를 확인하세요.
Paper인가요, Spigot인가요?
Spigot API용으로 작성한 코드는 Paper에서 실행되지만 그 반대는 아니에요. Paper는 Spigot에 없는 이벤트와 메서드(예: Adventure 텍스트 컴포넌트와 많은 비동기 API)를 추가해요. 서버가 Paper라면 Paper용으로, 플러그인이 Spigot 서버에서도 실행되어야 한다면 Spigot용으로 작성하세요.
빠른 방법
Codexe에서 Bukkit/Spigot/Paper 플러그인을 선택하고, 요청에 "Paper"와 버전을 적은 뒤 무엇을 하는지 설명하세요. Codexe가 프로젝트와 알맞은 Java 버전을 설정하고, 컴파일하고, 빌드 오류를 고치고, 플러그인이 설치된 Paper 테스트 서버에 접속하게 해 줘요.
자주 생기는 문제
- UnsupportedClassVersionError: 서버가 실행하는 것보다 새로운 Java로 플러그인이 컴파일되었어요.
- NoSuchMethodError / NoClassDefFoundError: 서버 버전에 없는 API를 플러그인이 쓰거나, 의존성이 .jar에 섀이드되지 않았어요.
- 플러그인은 로드되지만 명령어가 아무 일도 하지 않음:
plugin.yml에 명령어가 없거나 실행기가 등록되지 않았어요.
질문
Paper 플러그인이 Purpur나 Folia에서도 작동하나요?
Purpur는 Paper의 포크이므로 Paper 플러그인이 작동해요. Folia는 스레딩이 달라서, Folia에서 실행하려면 플러그인이 지역 스케줄러에 맞게 작성되어야 해요.
Kotlin으로 Paper 플러그인을 작성할 수 있나요?
네. Codexe는 같은 Paper API용으로 build.gradle.kts가 있는 Kotlin Gradle 프로젝트를 생성할 수 있어요.
지금 Paper 플러그인 만들기
이 프롬프트는 바로 보낼 수 있는 상태로 열려요:
“Bounties라는 Paper 1.21.4 플러그인: Vault 경제를 사용하는 /bounty set <player> <amount>, 처치한 사람이 보상을 받고, /bounty list는 상위 10개를 보여주고, 현상금은 재시작해도 저장되고, 메시지는 config.yml에 있어야 해.”
Codexe로 이걸 생성하기