KOTLIN 플러그인 생성기
plugin.yml이 포함된 Gradle 프로젝트를 구성하고, 다운로드하기 전에 JAR를 컴파일해 줘요.Kotlin 플러그인을 생성하는 이유
Bukkit에 필요한 null 안전성
Bukkit은 오프라인 플레이어, 없는 월드, 없는 설정 키처럼 끊임없이 null을 돌려줘요. Kotlin은 이런 경우를 새벽 2시 서버 콘솔이 아니라 컴파일 시점에 드러나게 해요.
진짜 Gradle 프로젝트
Kotlin JVM 플러그인과 Paper/Spigot 저장소에 맞춰 구성된 build.gradle.kts와 표준 소스 구조를 제공해요. 어디에 둘지 고민해야 하는 파일 하나가 아니에요.
훨씬 적은 반복 코드
설정 모델용 데이터 클래스, Player와 ItemStack의 확장 함수, 중첩된 null 검사 대신 스코프 함수를 써요. 같은 로직이 눈에 띄게 적은 코드로 나와요.
Folia와 프록시도 지원해요
Paper의 멀티스레드 포크를 쓴다면, Folia에는 단일 메인 스레드가 없어서 지역 인식 스케줄링이 필요하다는 점에 유의하세요. 처음부터 스케줄링이 올바르도록 플러그인 생성기에서 Folia 대상을 선택하세요. 네트워크 단위 작업에는 프록시 플러그인 생성기를 쓰세요. 차이점은 플러그인 문서에 설명되어 있어요.
예시 프롬프트
Kotlin 플러그인 생성기 FAQ
Kotlin 플러그인도 일반 Spigot이나 Paper 서버에서 실행되나요?
+
네. Kotlin은 일반 JVM 바이트코드로 컴파일되므로, 서버는 플러그인이 어떤 언어로 작성되었는지 알지도 신경 쓰지도 않아요. Java 플러그인과 똑같이 로드됩니다.
서버에 따로 설치할 게 있나요?
+
아니요. Kotlin 표준 라이브러리가 빌드할 때 JAR에 섀이드로 포함되어 플러그인이 독립적으로 동작해요. 그래서 같은 기능의 Java 플러그인보다 JAR 크기는 더 커요.
Maven인가요, Gradle인가요?
+
Gradle이에요. Kotlin 대상은 JVM에서 Kotlin의 표준 툴체인인 Gradle Kotlin 플러그인을 써요. Java 대상은 Maven을 씁니다.
여기서 Kotlin을 쓰면 실제로 뭐가 좋나요?
+
대부분 null 안전성과 더 적은 형식적 코드예요. Bukkit API는 getPlayer, getWorld, 설정 조회 등 많은 곳에서 null을 반환해요. Kotlin 타입 시스템은 이를 운영 중에 NullPointerException으로 발견하는 대신 컴파일 시점에 처리하도록 강제합니다. 데이터 클래스, 확장 함수, 스코프 함수도 설정 코드와 리스너 코드의 반복적인 코드를 많이 줄여줘요.
하나의 플러그인에서 Java와 Kotlin을 섞어 쓸 수 있나요?
+
생성기는 Kotlin 소스 세트를 만들어요. Gradle은 혼합 소스를 컴파일할 수 있으므로 나중에 Java 파일을 추가할 수 있지만, 생성된 프로젝트는 Kotlin 중심이에요.
Kotlin과 Java 중 어느 쪽을 골라야 하나요?
+
튜토리얼, 기존 코드 조각, 다른 사람의 코드와 최대한 호환되길 원한다면 Java를 고르세요. Bukkit 자료는 거의 모두 Java를 전제로 해요. Kotlin이 편하고 더 간결하고 null 안전한 코드를 원한다면 Kotlin을 고르세요. 어느 쪽이든 API 범위는 같아요.
다른 Codexe 생성기
Prefer Java, or working somewhere else in the stack? Codexe also generates:
Codexe가 이런 프로젝트를 어떻게 만들고 확인하는지, 요청에 무엇을 적어야 하는지, 자주 생기는 문제는 Spigot and Paper plugins (Java or Kotlin) 가이드에서 확인하세요.