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

API or 라이브러리

CommandAnnotation / 명령어 등록을 더 쉽고 편리하게.

Skywolf46 2020.02.16 조회 수 207 추천 수 1
마인크래프트 버전 1.5.2계열,1.8계열,1.12계열 
API 종속성 Bukkit,Spigot,Paper,기타 

CommandAnnotation 프로젝트는 더욱 쉽고, 빠르고, 편리하게 명령어를 등록할 수 있는 라이브러리입니다.


"버킷 기반 모든 서버"에서 작동이 가능합니다.


작동 확인된 버킷:

- Spigot (1.5.2,1.7.10,1.11,1.12 Tested)

- CatServerBukkit (1.12 Tested)

- CraftBukkit (1.5.2 Tested)

* 1.12.2를 넘어가는 버전의 서버에서는 아직 지원이 되지 않습니다.


예제 - 명령어 상속받기

1
2
3
4
5
6
7
8
9
10
11
public class TestCommand extends MinecraftAbstractCommand {
    @Override
    public boolean onCommand(CommandArgument args) {
         Player p = args.get(Player.class);
        if(p == null)
            args.get(CommandSender.class).sendMessage("Player only command!");
        else
            p.sendMessage("Hello,World!");
    }
}
 

cs



예제 - 파라미터 이터레이터 사용하기


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class TestCommand extends MinecraftAbstractCommand {
    @Override
    public boolean onCommand(CommandArgument args) {
         Player p = args.get(Player.class);
        if(p == null)
            args.get(CommandSender.class).sendMessage("Player only command!");
        else{
            try{
                Location nextParse = args.iterator().next(Location.class);
            }catch(ParameterException ex){
                p.sendMessage("Illegal arguments.");
            }
        }
    }
}
 
cs



예제 - 파라미터 파서 구현하기


1
2
3
4
5
6
7
public class DoubleParser extends ParameterParser<Double> {
    @Override
    public Double readParameter(ParameterIterator it) {
        return Double.parseDouble(it.next());
    }
}
 
cs



예제 - 파라미터 파서 등록하기

1
2
3
4
5
6
public class TestPlugin extends JavaPlugin {
    @Override
    public void onEnable(){
        ParameterIterator.registerParser(Double.class,new DoubleParser());
    }
}
cs



예제 - 커맨드 등록하기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class TestPlugin extends JavaPlugin {
    @Override
    public void onEnable(){
        // 명령어를 등록하기 위해서는 반드시 이 메서드를 호출해야 합니다.
        CommandAnnotation.forceInit(this);
        MinecraftAbstractCommand.builder()
            .command("/test")
            .add(new TestCommand())
            .child("a",new TestChildA())
            .child("b c"new TestChildBC())
            .child("d"new TestChildD(), true)
                .child("e",new TestChildE())
                .parent()
            .child("f",new TestChildF())
            .complete();
    }
}
cs



버전 이름 클릭시 해당 버전으로 리다이렉트됩니다. (깃허브)


1.3.2 Release

  • ParameterIterator#next(Integer.class)가 Location을 파싱하는 오류를 해결하였습니다.
  • LocationParser의 파싱 기능을 수정하였습니다.
  • CommandAnnotation 프로젝트가 1.5.2에서 일부 작동하지 않는 문제를 해결하였습니다.

1.3 Release

  • 파라미터 이터레이터가 추가되었습니다.
  • Double,Integer,Float의 파라미터 파서가 추가되었습니다.
  • EulerAngle, Vector, Location, World, Player, OfflinePlayer의 파라미터 파서가 추가되었습니다.


3개의 댓글

시듀아
2020.02.19

감사합니다

DDang_
2020.02.18

좋은 글 감사합니다

GoldenMine
2020.02.16

헤에엑 머싯서요!!!!

고급 자료실

인증 개발자 분들이 창작하신 고급 자료들을 만나보실 수 있습니다!

마인크래프트 버전
API 종속성
조회 수 제목 글쓴이
5774 [1] [ ICY online ] [ 1.12.2 ] 귀여운 포켓몬과 함께 다양한 컨텐츠를 모두 즐겨보자! 5 Space_SG
3734 [2] [냥팜서버] [1.12.2]마인팜+RPG 고퀄리티 서버 냥팜! 2 냥팜
1620 [3] [이코노미 팜] [1.16.1] 자유도 100%, 밴 아이템 ❌ 다양한 신규 유저 혜택 ✔️ 고퀼 이코노미... 4 DirTaeng
1089 만화 모델링 공모전 박동백
1016 한디포 이용 가이드! 처음 온 분은 읽어둡시다! 22 초스터
820 한디포 이용 규칙 27 초스터
15375 한마포 AD 소개 (유료 광고 서비스) 90 U 프리루트
12913 한마포 공식 디스코드 오픈 (알림 받아보세요!) 14 프리루트
1054 한마포 공식 서버 개발팀 팀원 구인 안내 2 프리루트
486 [유틸] [1.15.2] 간편 버킷 실행기 3 레도
633 [유틸] [1.12.2] 간편 버킷 실행기 1 레도
420 [플러그인] TrafficLogger 1.0 / 서버 트래픽을 최적화해봅시다 4 Skywolf46
162 [API or 라이브러리] MCVersions: 마인크래프트 버전 정보 라이브러리 5 HeartPattern
119 [기타] Exhibitionism: 클래스,메서드,필드를 노출시키는 프로그램 2 HeartPattern
207 [API or 라이브러리] CommandAnnotation / 명령어 등록을 더 쉽고 편리하게. 3 Skywolf46
320 [기타] MC-Remapper: 마인크래프트 난독화 제거 툴 5 HeartPattern
226 [API or 라이브러리] 쉽게 명령어를 추가하자 - EzFramework 3 KingCjy
11 [API or 라이브러리] MCVersions: 마인크래프트 버전 정보 라이브러리 HeartPattern
143 [유틸] IntegratedMessageUtil / 전버전 호환 메시지/플레이스홀더 관리 유틸 4 Skywolf46
275 [API or 라이브러리] ReflectedNBTWrapper / 전버전 호환 NBT 라이브러리 10 Skywolf46

한디포 자료란
https://www.koreaminecraft.net/files/thumbnails/892/936/001/262x150.crop.jpg

유틸

마인크래프트 버전 충돌 해결사

DevDreamer

2020-08-13

0

https://www.koreaminecraft.net/files/thumbnails/141/928/001/262x150.crop.jpg

API or 라이브러리

CmlLib.Core - 마인크래프트 런처 라이브러리 1

km_123456

2020-08-10

0