[Minecraft plugin] 명령어 등록하기

jong·2021년 3월 6일
0

취미

목록 보기
3/12

해당 글은 https://fred16157.github.io/java/java-minecraft-plugin-command/ 글을 참고하여 작성되었습니다.

명령어 추가하기

plugin.yml에 명령어 추가

plugin.yml에 명령어 정보를 추가해주어야 한다.

commands:
  jt:
    description: 테스트 명령어
    usage: /jt, /jtest 를 입력하십시오
    aliases:
      - jtest

다음과 같이 추가해 주었다.

명령어 처리 클래스

사용자가 명령어를 입력하면 처리를 할 클래스를 생성한다.

Command를 받아줄 클래스를 생성한 뒤,

package com.jong_plugin.JongPlugin;

import org.bukkit.Material;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;

public class Command implements CommandExecutor { //명령어 처리 클래스는 CommandExecutor 인터페이스를 상속해야 한다.

    @Override
    public boolean onCommand(CommandSender sender, org.bukkit.command.Command command, String label, String[] args) {
        if(sender instanceof Player){ //명령어를 사용자가 입력했으면
            Player player=(Player) sender; //명령어 사용자 객체를 플레이어 객체로 변환
            player.sendMessage("&6아이템을 지급하였습니다.");
            ItemStack item=new ItemStack(Material.IRON_INGOT);

            item.setAmount(1);

            player.getInventory().addItem(item);
            return true;
        }else if(sender instanceof ConsoleCommandSender){
            //콘솔창에서 사용한 경우
            sender.sendMessage("플레이어가 아닙니다.");
            return false;
        }
        return false;
    }

}

jt 명령어를 입력하면 아이템을 주도록 테스트 코드를 작성하였다.

점입점에 명령어 등록

public class JongPlugin extends JavaPlugin {
    @Override
    public void onEnable(){
        //플러그인 활성화
        getLogger().info("Jong Plugin 활성화");
        getCommand("jt").setExecutor(new Command());
    }

getCommand("jt").setExecutor(new Command()); 코드가 추가 되었다.

profile
공부 기록

0개의 댓글