분야 | 플러그인 |
---|---|
게임버전 | 모든버전 |
0.준비 할 것
스피곳 버킷 Build Path 하기
이클립스 프로그램
자바 8 버전(스피곳에서 8버전을 사용해야 안정적임)
1.새 프로젝트 만들기
먼저 1강 처럼 새 프로젝트를 하나 만들어줍니다.
그다음에 프로젝트를 우클릭에서 BuildPath를 누르시고 Add External Archives를 눌러줍니다. 만약 이렇게 하면 파일을 고르라는 창이 하나 뜰 것입니다. 그 때 스피곳 버킷을 추가 해주시면 됩니다.
https://getbukkit.org/download/spigot
여기서 자신의 마인크래프트 버전에 맞게 스피곳 버킷을 다운로드 해주시면 됩니다.
이클립스에서
프로젝트를 더블클릭 -> src 폴더 우클릭 -> New Package 만들기 -> 자신이 만든 패키지 우클릭 -> Class 만들기를 해주시면 됩니다.
저는 패키지 이름을 test라고 하였고 클래스 이름을 Main이라고 하였습니다. 그래서 코드를 보여 드릴 건데 복사 붙여넣기 하실 분들은 패키지와 클래스 이름을 바꾸시면 될 것 같습니다.
그럼 모든 준비는 다 끝났습니다.
2. 코드 적기
package test; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.plugin.java.JavaPlugin; public class Main extends JavaPlugin{ @Override public void onEnable() { System.out.println("Plugin is Activated"); } @Override public void onDisable() { System.out.println("Plugin is DisActivated"); } @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String [] args) { if(cmd.getName().equalsIgnoreCase("t")) { if(args.length == 0) { sender.sendMessage(ChatColor.RED + "Type the command to execute."); } else if(args[0].equalsIgnoreCase("info")) { sender.sendMessage(ChatColor.YELLOW + "This Plugin is Made By JSD-ITHAN"); } else { sender.sendMessage(ChatColor.RED + "Command is not correct."); } return true; } }
3. 코드 해석
위의 코드를 간단하게 해석 해들겠습니다. 먼저 boolean은 자바에서 논리형으로서, 뒤에 return true/false를 꼭 써주셔야 합니다.
CommandSender sender은 커맨드를 입력한 사람입니다. 이것은 플레이어가 될 수도 있고 콘솔 창도 될 수 있습니다.
Command command cmd는 커맨드를 말하는 것입니다.
그리고 위의 코드는 long command라고 해서 "t" 로 여러가지 명령어를 수행 할 수 있습니다.
예를 들어서 /t info를 쓸 수 있고 명령어를 더 추가해 준다면 "/t 수행할 명령어" 이렇게 여러가지 명령을 수행 할 수 있습니다.
"if(args.length == 0)"은 플레이어가 /t 까지만 입력하고 뒤에 명령을 안 썼다면 빨간색으로 수행할 명령을 입력하라고 플레이어에게 메세지를 보내는 것입니다.
"else if(args[0].equalsIgnoreCase("info"))" 는 /t info라고 쳤을 때 노란색으로 "이 프로그램을 만든 사람은 JSD-ITHAN입니다"라고 영어로 출력해 줍니다.
마지막으로 else는 /t 뒤에 정확한 명령어가 아닌 잘못 된 명령을 입력하였을 때 "명령어가 정확하지 않습니다." 라고 플레이어에게 메세지를 보냅니다.
4.plugin.yml
마지막 단계는 plugin.yml 파일을 만들어야 합니다.
모든 마인크래프트 플러그인에는 plugin.yml 파일이 들어 있어야 합니다. 만약 없다면 실행 시킬 대 invalid plugin.yml이 뜨거나
plugin.yml이 없다고 뜹니다.
프로젝트 우클릭 -> New -> File -> 이름에다가 plugin.yml이라고 적어주시면 됩니다.
먼저 plugin.yml에는 이름, 버전, 메인, 커맨드가 있는 경우는 커맨드까지 써주셔야 합니다. 그리고 Description이라고 설명글을 쓸 수 있는데 여기서 한글을 쓰면 오류가 날 수도 있습니다.
name: TestPlugin version: 1.0 main: test.Main commands: t: description: "About Plugin"
이렇게 써주시면 됩니다. description, name, version에는 마음대로 하시면 됩니다. 하지만 main에는 "패키지이름.클래스이름"
꼭! 이렇게 써주셔야 합니다. 저 같은 경우는 패키지 이름이 test이고 클래스 이름이 Main이기 때문에 test.Main이라고 했습니다.
5.Export Jar
자 이제 모든 것이 끝났습니다.
이제 프로젝트를 Jar 파일로 빼냅시다.
프로젝트 우클릭 -> Export -> Java 폴더에서 JAR file 선택 후 Next -> 자신의 프로잭트 선택, Jar 파일을 어느 폴더에다가 둘지 설정하기 -> Finish 누르면 끝.
그리고 자신이 만든 프로젝트를 버킷 서버의 plugins 폴더에 넣고 버킷을 실행시켜 줍니다.
콘솔에서 pl이라고 적어서 플러그인이 정상적으로 실행 되는 지 확인하고 게임에서 /t info를 치시거나 /t 를 치셔서 플러그인이 잘 실행 되는지 확인합니다.
궁금하시거나 안 되는 것들은 댓글에다가 적어주시면 감사하겠습니다:D
옹비버
2021.11.09안녕하세요. 글 잘봤습니다. 좋은 정보 감사합니다.
혹시 명령어를 't'말고 다른 명령어를 추가하고 싶을때는 plugin.yml에 commands를 어떻게 추가하나요?
답변 주시면 감사하겠습니다.