이 게시판에 글을 승인 없이 바로 작성하시려면 인증 개발자 권한이 필요합니다. 언제든지 지원해주세요(바로가기).

플러그인

[Ezframework] 플러그인 개발하기 - 1. 명령어 추가

KingCjy 7 일 전 조회 수 75 추천 수 1

소개

코드가 잘 안보이신다면 >> 이곳 << 에서 확인해주세요.

한마포 마크다운좀 제발 고쳐주세요

마인크래프트 플러그인은 서버에 부가기능을 추가하는것입니다. 이 글은 Spigot 1.12.2-R0.1-SNAPSHOT , EzFramework 1.1.1 버전을 사용합니다.

플러그인 개발에는 Ezframework 를 사용합니다 IDE는 IntelliJ 사용하며 Build Tool은 maven을 사용합니다.

이 글은 마인크래프트 서버에 대한 기본지식이 있다고 가정합니다.

Maven 설정

pom.xml


    spigot-repo
    https://hub.spigotmc.org/nexus/content/repositories/snapshots/

    org.bukkit
    bukkit
    1.12.2-R0.1-SNAPSHOT

    io.github.kingcjy
    ezframework-core
    1.1.1

      org.apache.maven.plugins
      maven-compiler-plugin

        1.8
        1.8

          -parameters

      org.apache.maven.plugins
      maven-shade-plugin

          package

            shade

Main Class

마인크래프트 플러그인의 main class에는 JavaPlugin을 상속받아야합니다. me.kingcjy.example.Main.java

public class Main extends JavaPlugin {
//    플러그인 활성화 시점에 호출
    @Override
    public void onEnable() {
//        프레임워크 초기화
        EzFramework.run(this);
    }
}

커맨드 추가

서버 전체에 메세지를 보내는 명령어를 추가합니다. /message send me.kingcjy.example.command.MessageCommand.java

@EzCommand("message")
public class MessageCommand {

    @Command("send ")
    public void broadcastMessage(@PathVariable String message) {
        Bukkit.broadcastMessage(message);
    }
}

plugin.yml 작성

resources/plugin.yml

name: <플러그인 이름>
main: <메인 클래스 (패키지 이름까지)>
version: <버전>

예시

name: testplugin
main: me.kingcjy.example.Main
version: 0.0.1

테스트

mvn package 명령어를 실행해 jar파일로 만듭니다. target/폴더 안에 생성된 jar파일을 서버의 plugins/폴더에 넣고 서버를 실행합니다.

서버에 접속 후 /message send Hello World를 입력하면

스크린샷 2020-02-10 오전 12.51.58.png

위와 같이 메세지를 전송합니다.

Help 명령어 추가하기

플러그인에 help 명령어를 추가해 어떤 명령어가 있는지 확인할 수 있습니다.

me.kingcjy.example.command.MessageCommand.java

@GenerateHelpCommand
@EzCommand("message")
public class MessageCommand {

    @Command("send ")
    @Description("전체 플레이어에게 메세지를 보냅니다.")
    public void broadcastMessage(@PathVariable String message) {
        Bukkit.broadcastMessage(message);
    }
}

아까와 같이 서버에 적용시킨 후 /message help명령어를 입력하면 아래와 같이 메세지를 보냅니다.

스크린샷 2020-02-10 오전 1.16.19.png

Help 명령어 메세지 커스터마이징

resources/me/kingcjy/ezframework/resource/help.ez파일을 생성 후

§2-------- [내 플러그인!!] --------
§3{help.command} -- {help.description}
§2-------------------------------

위와 같이 작성한 후 서버에 적용시키면

스크린샷 2020-02-10 오전 1.21.53.png

이렇게 적용이됩니다.

끝!

샘플 소스는 >> GITHUB <<에 있습니다.</strong

 

 



10개의 댓글

DDang_
7 일 전

글자에 하얀색 바탕이 읽기가 힘들어요

KingCjy
7 일 전
@DDang_

그래서 맨위에 >> 이곳 << 애서 확인해달라고 썼습니다. 한마포 마크다운오류라 힘드네요

DDang_
5 일 전
@KingCjy

마크다운오류가 나지 않게 글을 쓰는 방법은 없는건가효

아이스틴
7 일 전

DDang_님 말처럼 코드읽기가 살짝 눈이 아픈 것 같네요

KingCjy
7 일 전
@아이스틴

그래서 맨위에 >> 이곳 << 애서 확인해달라고 썼습니다. 한마포 마크다운오류라 힘드네요

아이스틴
7 일 전
@KingCjy

아하 감사합니다

camelCase
5 일 전

마크다운 빠른 시일내에 고치도록 노력하겠습니다 ㅠㅠ

camelCase
5 일 전
@camelCase

https://www.koreaminecraft.net/dev_high_archive/1249399

이렇게 나오도록 수정하면 될까요?

KingCjy
4 일 전
@camelCase

메이븐쪽이 안나와요

저는 야매로 했는데.. https://www.koreaminecraft.net/dev_hyomyo/1294868

도움이 될까해서 글 써봤습니다!



 

 

개발자 최신글
사진이 없습니다.

프로그래밍 일반

c언어 힙정렬 질문.. 2

배고픈상어-효묘

2020-02-17

0

사진이 없습니다.

프로그래밍 일반

파이썬 질문이여 1

레도

2020-02-16

0