본문 바로가기
마인크래프트/플러그인 제작 강좌(코틀린)

[코틀린으로 마크 플러그인 개발하기] 기본 세팅

by Zepelown 2023. 6. 30.

최근 뚜렷한 성장세를 보여주고 있는 코틀린을 통해 

 

마인크래프트 플러그인을 개발해 보도록 하겠습니다.

 

코틀린이란?

출처 : 나무위키

자바랑 100% 상호 호환됩니다.

 

그렇기 때문에 자바로 코딩된 마크에도 사용이 가능합니다.


인텔리제이를 켜보겠습니다.

 

기본 세팅해주는 인텔리제이의 플러그인 Minecraft Development를 사용합니다.

Minecraft Development - IntelliJ IDEA Plugin | Marketplace (jetbrains.com)

 

Minecraft Development - IntelliJ IDEs Plugin | Marketplace

Provides first-class support for every major Java Minecraft modding or plugin development platform, including: Bukkit Spigot Paper Sponge Forge Fabric Architectury...

plugins.jetbrains.com

설치법은 다음과 같습니다.

 

먼저 인텔리제이의 File -> Settings 창에 들어가 주세요.

 

전 이미 설치가 되어있기 때문에 installed이라고 뜹니다

그 후 Plugins에서 minecraft를 검색해 주시고 설치하시면 됩니다.

 


프로젝트를 만들어보겠습니다.

한글 인코딩 문제로 JDK는 18 이하 버전을 사용해 주는 것이 좋습니다.

 

Build는 Gradle로 하였습니다.

 

 

정상적으로 만들어졌습니다.

 

이제 이 프로젝트를 Kotlin 프로젝트로 만들어줘야 합니다.

차상위 폴더인 KotlinTestPlugin 를 우클릭 한 다음 

 

Convert Java File to Kotlin File을 눌러줍니다.

OK, configure Kotlin in the project를 눌러줍니다.

 

여기서 코틀린의 버전을 설정해줘야 합니다.

 

Beta 또는 RC 버전 말고 정식 버전을 설정하셔야 합니다.

 

따라서 해당 문구가 없되 제일 최근 버전을 선택해 주시면 됩니다.

 

제가 할 땐 1.8.22이니 이걸로 선택하였습니다.

OK를 누르면 gradle 파일이 나옵니다.

 

이 gradle 파일이 Kotlin에 맞게 설정되었다는 뜻입니다.

 

gradle 파일을 끝까지 내려보면 다음과 같은 코드를 볼 수가 있습니다.

 

1.8로 되어있을 텐데 이를 프로젝트를 생성할 때 설정한 jdk 버전으로 해주시면 됩니다.

 

전 17로 했으므로 17로 변경해 주면 됩니다.

 

gradle 파일이 변경되었으므로 다시 load 를 해줘야 합니다.

좌측 상단에 새로고침 버튼이 존재합니다.

 

이를 눌러줍니다.

 

만약 버튼이 없다면 오른쪽 끝에 있는 gradle를 누르고 새로고침 버튼을 눌러주면 됩니다.

 

새로고침을 눌렀다면 잠시 로딩이 진행됩니다.

 

기본적인 Gradle 파일 설정 끝났습니다.

 


이제 기존에 존재하던 메인 클래스를 코틀린 파일로 바꿔보겠습니다.

 

아까와 동일합니다.

Yes를 눌러줍니다.

 

정상적으로 변경됐습니다.

 


이제 빌드를 해보겠습니다.

빌드가 됐는지 쉽게 확인하기 위해 코드를 간단히 추가하였습니다.

 

빌드 시 중요한 것이 있습니다.

 

[인텔리제이로 마크 플러그인 개발하기](보충) Gradle로 jar 빌드하기 2 (tistory.com)

 

[인텔리제이로 마크 플러그인 개발하기](보충) Gradle로 jar 빌드하기 2

*이 글은 Spigot 1.20.1 버전을 기준으로 하여 제작되었습니다. https://zepelown.tistory.com/46 [인텔리제이로 마크 플러그인 개발하기](보충) Gradle로 jar 빌드하기 *이 글은 Spigot 1.19.3 버전을 기준으로 하여

zepelown.tistory.com

위 글처럼 Kotlin에선 기존에 사용하던 jar로 배포하면 오류가 발생합니다.

(저는 종속성으로 지정된 코틀린이 spigot과 충돌을 일으키는 것으로 알고 있습니다. 정확하진 않아요.)

 

따라서 "Fat" JAR로 만들어주는 shadow라는 라이브러리를 사용해야합니다.

 

Fat JAR란?

모든 종속성 패키징하여 JAR을 생성한 것

 

이해가 안되신다면 그냥 넘기시면 됩니다.

 

결론적으로 shadow라는 라이브러리를 사용하기 위해 설치를 해야합니다.

 

Gradle - Plugin: com.github.johnrengelman.shadow

 

Gradle - Plugin: com.github.johnrengelman.shadow

Version 8.1.1 (latest) Created 20 March 2023. Gradle plugin to create fat/uber JARs, apply file transforms, and relocate packages for applications and libraries. Gradle version of Maven's Shade plugin. plugins { id("com.github.johnrengelman.shadow") versio

plugins.gradle.org

위 사이트에서 최신 버전 Gradle 코드를 찾을 수 있습니다. 이를 이제 넣어주면 됩니다.

build.gradle 파일에 입력해주었습니다.

 

gradle 파일이 변경되었으므로 load를 해주세요

(모르시겠다면 글을 다시 보시면 나옵니다)

 

그러면 오른쪽 하단에 설치가 진행됩니다.

shadowJar{
    archivesBaseName = 'testplugin'
    destinationDirectory = file("C:\\Users\\Yoon\\Desktop\\game\\minecraft\\1.20.1 plugin develop server\\plugins")
    manifest {
        attributes 'Main-Class': 'org.zepelown.kotlintestplugin.KotlinTestPlugin'
    }
}

 다 됐다면 build.gradle 파일 맨 밑에 코드를 추가해줍니다.

 

archivesBaseName 는 jar 파일의 이름을

 

destinationDirectory는 파일 경로를 나타내고 manifest 안에 들어있는 것은 메인 클래스를 나타냅니다.

 

이를 맞게 변경해주세요.

 

 

gradle 파일이 변경되었으므로 load를 해주세요

(모르시겠다면 글을 다시 보시면 나옵니다)

 

이제 빌드를 해보겠습니다

인텔리제이 오른쪽에 보면 Gradle이 있습니다.

 

이걸 눌러줍니다.

Tasks -> shadow -> shadowJar 찾아서 더블클릭 해줍니다.

 

정상적으로 빌드가 되었습니다.

 

추가로 한번 빌드하면

다음부터 초록색 버튼을 사용해 빌드를 진행할 수 있습니다.

댓글