[SpongeForge] SpongeForge Plugin을 제작해보자 - 작업 환경 설정...
서버를 세팅 했으니 이제 서버를 컨트롤할 플러그인이 필요합니다.
이 플러그인을 제작할 작업 환경을 구축하는 방법을 다루어 보겠습니다.
우선 플러그인을 제작 가능한 환경은 eclipse, IntelliJ IDEA, NetBeans가 있습니다.
저는 이 작업 환경에서 IDEA를 사용하는데요 이 IDEA는 다른 작업 환경보다 훨씬 편한 작업 환경을 제공해 줍니다.
Pro 버전과 community 버전이 따로 있는데요 community버전은 무료 이므로 사용해보시는것을 추천 드림니다.
우선 project를 만들어여 하므로 Create New Project를 선택합니다.
왼쪽 팝업에서 Gradle을 선택해준신뒤 Next.
Group ID는 조직, 회사와 같은 내용을 적어줍니다. (팀명이나 그런것들?)
Artifact ID는 플러그인 이름을 적어줌니다.(Project 이름으로 사용됨니다.)
Version은 알맞게 설정하시면 됨니다.
아무 설정 하지 안고 넘어가도 되지만 추가적인 기능을 사용하실 분 이라면 알맞게 설정하시면 됨니다.
그냥 넘어가시면 됨니다.
프로젝트를 만들면 다음과 같은 화면이 나타남니다.
프로젝트 탐색기에서 build.gradle 파일을 선택해줍니다.
이파일을 다음과 같이 수정해줍니다.
입력 해주신뒤 Gradle에서 새로고침 해줍니다.
gradle 이 보이지 않는다면 View -> ToolWindows에서 Gradle을 선택해주시면 gradle이 나타남니다.
새로고침을 해주시면 프로젝트 탐색기에 다음과 같이 생성이 되는데요 이렇게 보이시면 성공입니다.
Src-> java에서 java파일을 생성해줍니다. 파일을 생성 하신뒤 다음과 같이 입력을 해줍니다.
class위에
@Plugin(id = "", name = "", version = "1.0")
을 입력 해줍니다. id는 로그나 여러 출력이 될때 사용됨니다. name은 개발자? 입력해주시면됩니다. version은 알맞게?
이제 서버를 컨트롤 하기 위한 코드를 작성 해봅시다!!
개발자가 데이터 값이나 출력값을 보기 위해서는 로그를 남기는 Logger가 필요합니다.
이 Logger는 플러그인에 인젝션 되기 떄문에 @Inject 옵션을 붙여줍니다.
플러그인은 Event에 따른 코드를 추가할수 있습니다.
Event는 서버가 실행되는 이벤트나 혹은 Player가 접속하는 이벤트나 여러 이벤트가 있습니다.
이 이벤트를 받아보기 위해서는 @Listener를 메소드위에 붇여주셔야 합니다.
또 이벤트 메소드는 인자값에 따른 이벤트가 들어오므로 메소드 이름은 자유롭게 작성하시면 됨니다. 중요한것은 인자값으로 어떤 이벤트가 들어오는가 입니다.
이렇다보니 메소드는 외부에서 받아오기 때문에 매번 회색으로 변해 있습니다. 줄도 쳐져 있고 ㅠㅠ 그래서 메소드 이름에서 ALT + Enter를 하시면
다음과 같은 옵션이 생김니다. Supress for methods annotated by ~ 어쩌고 하는 옵션을 클릭해줍니다.
그러면 메소드가 다음 처럼 변경이 됨니다.
logger로 서버가 실행되었다는 메세지를 출력할 수 있습니다.
이제 간단한 플러그인을 제작 하였으므로 jar파일을 추출 해봅시다.!!
File -> Project Structure에서 Artifacts 에서 + 버튼을 눌룬뒤 Jar -> from modules with dependencies...를 선택해줍니다.
create JAR frome Modules에서 main Class를 만든 java파일을 선택해줍니다.
여기서 오류가 나시는분들은 그냥 나오시면 MainClass에 입력이 되어 있으면 무시 하시면 됨니다.
ok를 눌러서 넘어감니다.
Output directory를 마인크래프트 서버 mods 폴더로 설정을 해줍니다.
플러그인은 mods폴더에 있어야 해서 빌드하면 자동으로 생성되게 해줍니다.
빌드를 할때 다른 종속성 파일은 넣을 필요가 없기 때문에 제거 해줍니다.
이제 빌드 설정은 완료 되었습니다.
이제 적용하신뒤 나오시고 Build -> BuildArtifacts를 클릭하시면 중앙에 다음과 같은 작은 창이 뜸니다.
빌드를 해주면 됨니다.
플러그인이 생성되었습니다.
서버 로그에 작성했던 코드가 나타나는것을 확인 할 수 있습니다.
프로젝트 탐색기에서 빨간 폴더가 보여서 싫으신 분은 projectsturcture 에서 Modules에서 빤간 폴더를 선택 하신뒤 Excluded를 클릭하신뒤 Apply하시면 됨니다.
'Development > SpongePoweredForgePluginDevelop' 카테고리의 다른 글
[SpongeForge] SpongePowered로 마인크래프트 서버를 열어보자!! (0) | 2016.02.06 |
---|