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

플러그인

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

KingCjy 2020.02.10 조회 수 333 추천 수 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: &lt;플러그인 이름&gt;
main: &lt;메인 클래스 (패키지 이름까지)&gt;
version: &lt;버전&gt;

예시

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개의 댓글

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

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

camelCase
2020.02.12

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

camelCase
2020.02.12
@camelCase

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

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

KingCjy
2020.02.13
@camelCase

메이븐쪽이 안나와요

아이스틴
2020.02.10

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

KingCjy
2020.02.10
@아이스틴

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

아이스틴
2020.02.10
@KingCjy

아하 감사합니다

DDang_
2020.02.10

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

KingCjy
2020.02.10
@DDang_

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

DDang_
2020.02.12
@KingCjy

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

조회 수 제목 글쓴이
8038 [ ICY online ] [ 1.12.2 ] 귀여운 포켓몬과 함께 다양한 컨텐츠를 모두 즐겨보자! 10 Space_SG
3076 [2] [ 플렉스팜 ] [1.12.2] 마인팜서버 환생이 존재한다고? 계속되는 업데이트! 플렉스팜으로 놀... 진이블로그
813 [3] [ 냥팜서버 ] [1.12.2] 8월23일 초기화 완료! 냥팜
1196 한디포 이용 가이드! 처음 온 분은 읽어둡시다! 22 초스터
979 한디포 이용 규칙 27 초스터
20887 한마포 AD 소개 (유료 광고 서비스) 92 프리루트
28002 한마포 공식 디스코드 오픈 (알림 받아보세요!) 19 프리루트
5521 한마포 공식 서버 개발팀 팀원 구인 안내 5 프리루트
234 [플러그인] Spigradle - 더이상 plugin.yml 을 수동으로 만들지 마세요! EntryPoint
326 [플러그인] [5강]마인크래프트 플러그인 개발하기 - (ChatColor) 채팅 색깔 바꾸기 4 JSD-ITHAN
161 [프로그래밍 일반] C# Windows Form JSD-ITHAN
370 [플러그인] [3강]마인크래프트 플러그인 개발하기 - 날씨 바꾸기 12 JSD-ITHAN
911 [스크립트] [#1] 왕초보가 알려주는 Skript! : Hello Skript! 15 묘단
351 [플러그인] [6강]마인크래프트 플러그인 개발하기 - 명령어로 플레이어 발 밑에 블럭 소환하기 3 JSD-ITHAN
380 [ 2강 ] 너도하고 나도하는 Skript : 주석처리와 변수 7 BlessU_
544 [플러그인] [7강]마인크래프트 플러그인 개발하기 - 개발이 힘든 분들을 위해 드리는 말씀 12 JSD-ITHAN
496 [스크립트] 스크립트로 포탈 만들기 6 JSD-ITHAN
298 [스크립트] 스크립트 개발하기 - 어드민 기능(철 문 열기) 5 JSD-ITHAN
234 [스크립트] 스크립트 개발하기 - 비행 모드 7 JSD-ITHAN
760 [프로그래밍 일반] 파이썬으로 로딩바 구현하기 10 JSD-ITHAN
333 [플러그인] [Ezframework] 플러그인 개발하기 - 1. 명령어 추가 10 KingCjy
415 [스크립트] 스크립트 개발하기 - 서버에서 블럭 막기 8 JSD-ITHAN
191 [ 1강 ] 너도하고 나도하는 Skript : 메세지를 출력하자! 6 BlessU_

한디포 자료란
사진이 없습니다.

스크립트

정보 스크립트 (beta)

cord

2020-09-22

0

사진이 없습니다.

유틸

[ 파이선 스크립트 ] Selenium을 이용한 자동 한마포 출석체크

NamuTree0345

2020-09-21

0