Kotlin · Bukkit · Spigot · Paper

KOTLIN 플러그인 생성기

같은 Bukkit API를 Kotlin으로 씁니다. 플러그인이 해야 할 일을 설명하면 Codexe가 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 대상을 선택하세요. 네트워크 단위 작업에는 프록시 플러그인 생성기를 쓰세요. 차이점은 플러그인 문서에 설명되어 있어요.

예시 프롬프트

> 설정할 수 있는 아이템 세트를 지급하는 /kit 명령어, 데이터 클래스에 저장되는 플레이어별 쿨다운, 기본값이 있는 YAML 설정이 있는 Paper 1.21용 Kotlin 플러그인.
> 모든 블록 파괴를 월드별 파일에 비동기로 기록하고, /blocklog <player>로 최근 20개 항목을 다시 읽어 볼 수 있게 하는 Kotlin 플러그인.
> 인챈트된 아이템의 커스텀 제작 레시피를 추가하고, 네더 밖에서는 사용하지 못하게 막는 리스너가 있는 Kotlin 플러그인.
> 접속 중인 플레이어를 나열하고, 권한 노드가 있어야 클릭으로 텔레포트할 수 있는 페이지 나뉨 GUI가 있는 Kotlin 플러그인.

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 범위는 같아요.

Prefer Java, or working somewhere else in the stack? Codexe also generates:

Codexe가 이런 프로젝트를 어떻게 만들고 확인하는지, 요청에 무엇을 적어야 하는지, 자주 생기는 문제는 Spigot and Paper plugins (Java or Kotlin) 가이드에서 확인하세요.

새 플러그인을 만들 준비가 되셨나요?

무료 플랜은 매일 50K 토큰이 충전되며, 작은 Kotlin 플러그인을 한 번에 출시하기에 충분해요.

제작 시작
Kotlin Minecraft(마인크래프트) 플러그인 생성기 - AI로 만드는 Kotlin Bukkit 플러그인 | Codexe