마인크래프트 플러그인 개발 기초 [ #0 IDE 설정 ]
Minecraft Dev/Plugin

마인크래프트 플러그인 개발 기초 [ #0 IDE 설정 ]

반응형
 그동안 마인크래프트 플러그인으로 무언가를 구현한 영상 댓글에 플러그인 개발 강좌가 필요하다는 것, 그리고 코딩에 들어가기 전까지 개발 환경을 세팅하는 과정이 생각보다 복잡하다는 의견이 자주 보였습니다. 따라서 마인크래프트 플러그인(혹은 모드) 개발을 시작해보고자 하시는 모두를 위해 자세한 과정을 정리해 보았습니다. 또한 개인적으로 개발 속도를 비약적으로 증가시키기 위한 팁 또한 포함해 작성하였습니다. 글로 부족한 부분이 있다면 영상 제작도 계획하고 있습니다.

1. IntelliJ IDEA 설치, 기본 환경 세팅

빠르고 편리한 개발을 위해서는 IDE가 필요합니다. IDE는 "통합 개발 환경" 이라는 뜻으로,

직접적인 코딩 작업 외에도 다양한 편리한 기능을 제공하는 프로그램이라고 할 수 있습니다.

IDE를 (잘) 사용해야 하는 이유는 다음과 같습니다.

 

1. 개발 속도 증가

 - 코드를 짜고 빌드하는 과정을 단축시켜 줍니다.

 - 개발 시에 사용되는 DB 테스트 작업 등을 할 수 있는 기능이 내장되어 있습니다.

 

2. 지식 습득 속도 증가

 - 다양한 제안, 자동완성 등을 추천해주기 때문에 몰랐던 부분을 은연중에 학습할 수 있도록 해줍니다.

 - 코드에서 비효율적인 부분이나, 대체 가능한 부분을 추천해줍니다. 

 

 이번 글, 그리고 앞으로는 IntelliJ IDEA를 사용하겠습니다.

참고로, 이 문단에서는 JetBrains Toolbox를 사용해 설치를 진행합니다.

JetBrains Toolbox를 사용하는 이유는, 버전 관리가 간편하고 혹여나 다른 IDE를 사용할 때에도 편리하게 설치할 수 있기 때문입니다.

개인적으로 수동 설치를 원하시는 분은, 구글에 "IntelliJ IDEA Community Edition"을 검색하시어 설치하셔도 무관합니다.

 

1) JetBrains Toolbox 검색하여 설치

구글에 JetBrains Toolbox 검색

 

첫 번째 결과로 이동

 

"다운로드" 버튼을 클릭하여 다운로드

 

설치, 마침
설치가 완료되었는데도 자동으로 실행되지 않으면,최근 추가된 앱에서 검색해서 실행해주세요.

 

취향에 맞게 설정 후, "도구" 탭 까지 진입해주세요.

 

2) IntelliJ IDEA Community Edition 설치

IntelliJ IDEA Ultimate를 선택하지 않게 주의해주세요. Ultimate는 유료 버전입니다.

IntelliJ IDEA Community 에디션을 설치해주세요. Ultimate의 경우 더 많은 기능을 제공하지만 유료입니다.

혹시, 대학생이셔서 대학교 이메일이 있으신 경우, 학생 라이선스를 받으시면 Ultimate와 다른 IDE들도 무료로 이용하실 수 있습니다.

 

 



설치가 완료되었으면, 클릭해서 실행해주세요.

 

3) 실행, 플러그인 설치

약관 동의, 익명 데이터 전송 설정

 

초기 화면

드디어 설치가 끝났습니다. 이제 마인크래프트 개발을 위한 기본적인 플러그인을 설치해 보겠습니다.

 

왼쪽의 "Plugins" 탭으로 진입해 "Minecraft Development"를 Install.
"Korean"도 검색하여, "한국어 언어 팩" 설치.
다시 Projects 탭으로 넘어가려고 하면, 재시작 창이 뜨므로 Restart 클릭.
플러그인 설치, 한국어가 적용된 초기 화면

드디어 기본적인 설치를 완료하고, 한국어 팩과 마인크래프트 개발 플러그인을 설치하였습니다.

마인크래프트 개발 플러그인은 이번 글에서 사용되지는 않지만, 추후 플러그인 개발 과정에서 큰 도움이 됩니다.

 

2. GitHub에서 예시 프로젝트 Clone

마인크래프트 플러그인의 가장 기본적인 코드를 포함한 프로젝트를 미리 만들어 두었습니다.

이 코드를 직접 다운로드할 필요 없이, Git에서 Clone하는 방식으로 세팅해 보겠습니다.

예시 프로젝트는 Spigot 1.19.4를 기준으로 제작해 두었습니다.Spigot 1.19.4 플러그인은 Spigot, Paper, Purpur 에서 호환됩니다. (CraftBukkit은 호환되지 않습니다.)

"프로젝트" 탭의 "VCS에서 받기" 클릭.

Git이 설치되지 않았습니다 라는 붉은 글씨가 뜰 경우, 오른쪽의 "다운로드 및 설치"를 클릭해 자동으로 설치합니다.

URL에  https://github.com/XTHEIA/ExamplePlugin.git 입력해주세요.

디렉터리에는 해당 프로젝트가 다운로드될 폴더를 생성해 선택해주세요.

모두 입력했으면 "복제"를 클릭해주세요. IntelliJ IDEA가 해당 repository에서 프로젝트를 다운로드하여 열어줄 거에요.

 

뭔가 로딩되는 듯한 작업이 진행되고..

3. 빠른 개발과 테스트를 위한 설정 (선택)

 마인크래프트 플러그인을 만들었으면, 당연히 서버에 넣고 테스트를 해 봐야 합니다. 아래 작업은, 코딩 후 테스트를 할 때마다 자동으로 플러그인을 빌드하여 테스트할 서버의 plugins 폴더로 복사하여 주는 역할을 합니다.  "빌드" 버튼 한 번만 누르면, 플러그인이 빌드되고, 테스트할 서버에 자동으로 복사되는 과정이 자동으로 이루어지는 것이죠.

 

 플러그인 개발을 위해 반드시 필요한 과정은 아니지만, 매 빌드(테스트)마다 빌드된 플러그인을 일일히 복사하여 붙여넣는 작업이 생략되기 때문에 개발 속도를 비약적으로 향상시킬 수 있습니다.

 

 아래 단계를 진행하기 전, Spigot, Paper, Purpur 버킷들 중 하나를 선택하여 테스트할 서버를 미리 만들어주세요!

(eula 수정 포함, 한 번 실행까지 마쳐주세요.)

 

1) build.gradle 수정

왼쪽의 파일 목록 중 build.gradle을 더블클릭하여 엽니다.

먼저, build.gradle 파일을 열어주세요.

build.gradle 파일에는 아래와 같은 내용들이 정의되어 있습니다.
1. 이 프로젝트의 정보
2. 이 프로젝트가 필요로 하는 "의존성"의 정보.
3. 이 프로젝트를 어떤 방식으로 "빌드"할 것인지에 대한 정의.
위와 같은 정보들을 정의해두면, gradle이 알아서 대부분의 빌드 작업을 진행해줍니다.

 

그리고, 테스트할 서버의 폴더를 열어 줍니다.

이렇게 logs, plugins, world등의 폴더가 있는 서버 폴더의 경로를 열어주세요.

 

 

그리고, 해당 폴더 경로 부분을 클릭하면 경로를 텍스트로 복사할 수 있게 됩니다. 복사해주세요.

 

 

이제 IntelliJ IDEA로 돌아와서,

이미지에 나와있는 것처럼, "C:/PATH/TO/SERVER"라고 되어 있는 부분을 지우고 복사한 내용을 넣어주세요.

플러그인 폴더가 아닌, 서버의 폴더를 복사해주세요..!

 

2) 실행 구성, 빌드

이제, 화면 오른쪽 상단의 ▶️ 모양 버튼 왼쪽의 "현재 파일" 이라고 되어 있는 부분을 클릭 후 "구성 편집"을 클릭해주세요.

 

 

왼쪽의 + 버튼 클릭 후, Gradle을 선택해주세요.

이름은 build로 설정해주세요. (다른 이름으로 해도 무관합니다.)

실행에는 아래 문자열을 입력해주세요.

jar copyPlugin

모두 입력했으면 "확인".

이제 오른쪽 위 실행 옆에 'build'라는 글자가 나타날 것입니다.

실행 (삼각형 모양)을 눌러볼까요?

"실행이 완료되었습니다" 라는 글자가 나오는 것을 확인한 후, 

서버 폴더에 들어가봅시다.

 

플러그인이 .jar 파일로 빌드되어 들어가 있는 것을 볼 수 있어요..!

 

3) 서버 실행

이제 서버를 실행해 보겠습니다.

콘솔에 Enabling ExamplePlugin이 뜬다면, 성공적으로 적용된 것입니다..!


오늘은 이렇게 마인크래프트 플러그인 개발을 위한 아주 기초적인 설정을 해 보았습니다.

다음 글로는 플러그인 개발에 자주 사용되는 이벤트, 스케쥴러 등등 다양한 튜토리얼을 정리해 볼 예정입니다.

혹시 따라하는 과정에서 문제가 발생한 점이나, 질문이 있으실 경우,

제 마인크래프트 개발 디스코드에서 자유롭게 질문해 주시면 감사하겠습니다..!

https://discord.gg/KnYEzR2Yjg

반응형

'Minecraft Dev > Plugin' 카테고리의 다른 글

마인크래프트 충전식 폭죽 플러그인 배포  (0) 2023.04.24