본문 바로가기

게임/마인크래프트

마인크래프트 플러그인 만들기 (1)

마인크래프트의 한계를 뛰어넘어 설 수 있는 플러그인!

한번 플러그인을 직접 만들어 자기 서버에 적용 해보고 싶다?

그러면 만들면 됩니다!


차근차근 따라와주세요!

※ 준비물

1. JDK와 이클립스


2. 기초 Java 실력

- 마인크래프트는 아시다시피 Java 를 사용합니다.

즉, 플러그인도 Java 기반으로 만들어지겠지요?

플러그인 제작에 Java 까지 일일이 설명하려면 글이 너무 길어집니다.

그래서 제 블로그에도 곧 Java 에 대한 강의를 올리려고 합니다.


기초 Java 실력이란 그냥

변수만들기, 연산자, 조건문, 반복문, 함수, 배열, 클래스 정도만 아시면 됩니다.

많아 보이지만, 사실 모든 언어의 기초라고 할수있습니다.


이 준비물들만 갖추고 계시면 언제든지 만들 수 있습니다.




보시기 전 눌러주세요~
 



플러그인 자바 파일 만들기


우선 이클립스를 실행시킵니다.



File - New - Java Project 로 들어갑니다.


추가 - 현재 제가 쓰고 있는 이클립스는 구버전이라서

           신버전이랑 조금 다른데요 이번에 업데이트 했습니다. (댓글 달아주신분 감사합니다)

           이클립스가 신버전이신 분은

           New - Project - Java Project 로 들어가시면 됩니다.


이런식으로 창이 뜨는데,

Project Name 에 프로젝트 이름을 입력후, Finish 를 눌러주세요.



 

그럼 이렇게 프로젝트가 생깁니다.

프로젝트 왼쪽의 ▷ 를 눌러 목록을 펼칩니다.



 

그리고 src(오른쪽 클릭) - New - Package 로 들어가주세요.



 

그러면 이런 창이 뜨는데,

Name 에다가 패키지 이름을 적어 넣어주시고 Finish 를 눌러주세요.


※ 참고 : 패키지 이름은 com.자기 닉네임.프로젝트 이름 으로 보통한답니다. 저도 왜인지는 몰라요..


그럼 패키지가 생성됩니다.



생성된 패키지에다가 오른쪽 클릭 - New - Class 순으로 들어갑니다.



이러한 창이 뜨는데 Name 에다가 클래스 이름을 넣어주시고 Finish 를 눌러주세요.


※ 참고 : 현재 만드는 클래스 파일은 메인 파일입니다. 메인 파일은 보통 프로젝트 이름과 동일하게 만듭니다.




빨간색 네모를 보시면, Example.java 라는 클래스가 만들어졌습니다.

이를 더블클릭 해보시면 초록색 네모와 같이 프로그래밍을 하는 공간이 만들어집니다.


이제 여기다가 플러그인의 기능을 마구마구 집어넣는겁니다.



 

일단, 밑줄친 위치에 extends JavaPlugin 라고 적어넣어줍시다.

이게 무엇인고 하면, 마인크래프트의 모든것을 상속받는겁니다.

사실 중요한것도 아니니 그냥 넘깁시다.


허나, 이렇게 하면 JavaPlugin 쪽에 빨간밑줄이 생깁니다.

이 밑줄을 없애봅시다.


빨간 밑줄은 그 부분에서 문법적 오류가 났다는 겁니다.




자신의 프로젝트 파일에 오른쪽 클릭 - Build Path - Configure Build Path... 로 들어가줍시다.




그럼 이런 창이 뜨는데,

여기서 Add External JARs... 를 눌러줍시다.

그리고 최신 버킷파일을 집어넣습니다.





이렇게 말이지요.

이제 OK 를 눌러줍시다.


그리고 JavaPlugin 을 보시면, 밑줄이 사라지지 않았습니다.

당황 마시고 따라와주세요.



 

JavaPlugin 에 마우스 커서를 올려두시면

저런 노란 창이 하나뜨는데, 거기서

Import 'JavaPlugin' (org.bukkit.plugin.java) 를 눌러줍시다.




그럼 빨간색 네모 부분처럼 import 머시기 가 생깁니다.

그리고 JavaPlugin 에 밑줄이 사라졌습니다!


오류를 고친셈이지요.

방금 마우스커서를 대서 한 것은 이클립스가 지원해주는 오류고침 이라고 보면 됩니다.

잘만 이용하면 되게 편리하게 프로그래밍 할수 있습니다.


이제 플러그인 제작 준비는 끝났습니다.

다음 강의에서는 onEnable() 함수와 onDisable() 함수를 다루겠습니다.