티스토리 뷰

플러그인의 1부터 10까지


이번에 다뤄볼 주제는 명령어 만들기입니다.

마인크래프트 왕초보가 아니라면 명령어가 무엇을 뜻하는지 알 것이기에 따로 설명은 안하겠습니다.


플러그인에서 명령어를 만드는 방법은 크게 두가지입니다.

메인 클래스에 포함시키는 방법 / 클래스를 따로 만들어 주는 방법.


해당 강좌에서는 클래스를 따로 만들어 주는 방법으로 해볼 것입니다.


그럼 명령어 기능을 수행 할 클래스를 만들어줘야합니다.

저는 "MainCommand"라는 이름의 클래스를 만들어보겠습니다.



그 다음 이 클래스를 명령어의 기능을 수행하기 위한 클래스로 만들어주기 위해

아래 사진처럼 코드를 쳐주면 IDE에서는 오류를 내뿜습니다.

onCommand() 명령어를 만들어줍시다. (IDE 자동완성 기능을 사용합시다!)



기본적인 준비는 끝났습니다.

이제 기능을 만들어줘야 하는데요.


해당 강좌에서는 인게임에서만 가능 / 특정 명령어를 치면 메세지가 나오게 해보겠습니다.


참고: onCommand의 인자는 자신한테 편하게 바꿀 수 있습니다!



저는 이렇게 만들어봤습니다.


[ 코드 확인하기 ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package kr.kgaons.skylightqp;
 
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
 
public class MainCommand implements CommandExecutor{
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String s, String[] args) {
        if(sender instanceof Player){ // 명령어를 보낸 사람이 Player 객체 이라면.
            Player p = (Player) sender; // p 변수에 보낸 사람을 담습니다.
            p.sendMessage("§b플러그인의 1부터 10까지!");
            p.sendMessage("§a성§c공§a하§c셨§a나§c요§a?"); // 메세지를 출력합니다.
        }
        return false;
    }
}
 
cs


이제 메인 클래스로 돌아와서 해당 명령어를 등록해줍시다.



자 끝났습니다. 가 아니라 plugin.yml에도 명령어를 등록해줘야합니다.

이를 생략하기위해 버킷에서 제공해주는 커멘드 등록 방식이 아닌 다른 API들이 존재하기도 합니다.


1
2
3
4
5
6
7
name: SkyLightQP                            # 플러그인의 이름
main: kr.kgaons.skylightqp.SkyLightQP       # 플러그인의 메인 클래스
version: 1.1                                # 플러그인 버전
 
commands:
  메세지:                                    # 명령어 이름
    description: 메세지를 출력합니다.          # 명령어 설명
cs


(버전이 바뀌었다!)


이제 진짜로 끝났습니다.

마지막으로 결과를 확인해봅시다.



성공입니다!

위의 코드에서 "else"를 이용하여 인게임이 아니라면 메세지를 보낼 수도 있습니다.

명령어가 플러그인의 기초가 되는 만큼 많은 기능 구현이 가능합니다.




검색어:

마인크래프트, 마인크래프트 플러그인 강좌, 마인크래프트 플러그인 만들기, 자바, 플러그인, 마인크래프트명령어, 마인크래프트플러그인,무지개색총공격이다!

댓글
댓글쓰기 폼