짬빵
대표칭호 없음
이해도 | 플러그인 |
---|---|
게임버전 (JE) | 버킷 |
안녕하세요 최근에 마크 플러그인을 접하게된 학생입니다
마크 플러그인을 천천히 만들어볼 생각으로 자바를 일단 상속 하고 인터페이스까지 학습을 한 상태로 마크 API에 대해서 찾아보고 있었는데
Overview (Paper-API 1.12.2-R0.1-SNAPSHOT API)
이 사이트에서 메소드들 하나하나 보고있는데 분량이 너무 방대해서 이걸 다 보는게 맞는 짓인가 의문이 드네요
아직 자바도 공부하고있고 진짜로 그냥 플러그인 만들고싶다는 욕구하나로 그냥 제멋대로 이것저것 배우려고하고있는데 방향을 잘 잡지를 못하고있네요....
그렇다고 유튜브에서 나오는것들을 무작정 따라하자니 이게 왜 쓰이는지가 모르겠어서 따라하는거에 거부감이 들어서 플러그인을 해보려면 기본적으로 어떤것들을 알아야하나요?그리고 페이퍼 API를 하나하나 찾아보는게 맞는 행동인가요?
만약 이 질문이 정말 멍청한 학생의 질문으로 들리시더라고 저를 불쌍히 여겨 숙련자분들의 지식을 조금이라도 빌려주시기 바랍니다
wysohn
2020.07.31Bukkit API에서 가장 중점이라 할만한것은 아무래도 이벤트가 아닐까 합니다. 일반 자바 프로그램을 생각해보시면 main() 이라는 즉 프로그램의 시작점이 되는 메소드가 존재합니다. 플러그인은 아무래도 이미 동작중인 프로그램에 보조적으로 붙는 프로그램이라 그런 메소드가 따로 있지 않지요.
대신 onEnable() onDisable() 처럼 따로 플러그인쪽으로 서버의 흐름을 넘겨주는 메소드들이 존재 합니다.
그중 하나가 바로 PluginManager의 registerEvents(), 또 registerEvents에 넣기위해 상속해야하는 인터페이스 Listener, 그리고 그 Listener 를 상속받는 클래스에서 이벤트를 받기위에 @EventHandler라는 Annotation이 존재합니다.
위에서 상기한 내용만 아셔도 플러그인이 대충 어떻게 동작하는가 감이 오실겁니다. Javadoc 전체를 다 꿰고있는건 아마 Spigot을 개발하는중인 md_5 정도나 개발 참여중인 사람들이나 알것이고 플러그인 개발을 할때는 필요한 클래스만 검색해서 참조하시는게 좋습니다. 애초에 Javadoc이라는게 개발하는 사람이 변경하면 자연히 같이 바뀌기때문에 이걸 외우는건 아무 의미가 없습니다.
짬빵
2020.07.31오오
감사합니다!
그런데 실제로 플러그인 개발하시는 분들은 계속 바뀌는 플러그인에서 어떻게 필요한 클래스를 딱딱 찾아내시는거죠?
대부분 구글링으로 하는건감?
냥냐챠
2020.08.01버킷 API, 나아가서 API 라는것은 외부 개발자가 프로그램의 행동을 제어하기 위해 외부로 노출시킨 것이다냥.
이런 개념을 만약 실생활에 적용해 본다면 먼저 생각해 볼 수 있는 것이 어디에나 있는 형광등 스위치지냥
스위치를 눌러서 형광등을 킨다는 것은 누구나 익히 알고있는 것이지냥? 즉, 형광등 스위치라고 사람들이
인식하려면 "평범한 형광등 스위치" 같이 보여야한다는 거다냥. 그 내부에 어떤 식으로 이어져서 형광등이
켜지는지는 우리들은 알 필요가 없지냥. 그냥 요점은 형광등 스위치를 딸깍하면 꺼지거나 켜지거나 해야된다라는 거다냥.
이런식으로 API 는 특정 행동을 프로그램에 지시하는 일종의 형광등 스위치라고 보면된다냥.
그리고 한번 이런식으로 대중화된 용법(형광등 스위치를 키는 법)을 바꾸는 일은 제대로 된 API 를 만들줄 아는 사람이라면
극히 드물다냥. 그쪽 댓글에도 나와있듯이 계속 용법이 바뀌면(형광등 스위치가 갑자기 누르는 방식에서 지문 스캔으로 바꾸면 이상하잖냥)
그걸 사용하는 사용자들이 싫어하거나 떠날꺼거든냥.
잘 체계가 잡힌 프로그램이 제공하는 API의 외관은 특별한 경우를 제외하면 바뀌지 않는다냥.
그러니깐 그 프로그램이 버전이 업데이트 되던가 하더라도 이전과 똑같은 방식으로 원하는 결과를 만들어낼 수 있는거지냥.
그걸 계속 써본 개발자들은 익숙하니깐 바로바로 무엇을 써야되는지 감이 잡히는 거고냥.
개발 힘내라냥
'^'b
짬빵
2020.08.01감사합니다
아직 개발이라고 할수 있을지 모르겠지만 열심히 배우겠습니다