플러그인 강좌 2편(코틀린)
페이지 정보
본문
전편과 이어집니다.
첫 시작은 클래스를 하나 만들어줍니다.
org.(이름).(플러그인이름) 이 쓰여있는 폴더 아이코을 우클릭하고
새로만들기 > Kotlin 프로젝트를 선택해줍니다.
그리고 이름을 정해줍니다.
저는 Listener로 하겠습니다.
Listener라는 코틀린 클래스가 생기면 가장 먼저 해줘야 할 일이 있습니다.
이렇게 : Listener를 적어주는겁니다.
이건 플러그인이 서버에서 이벤트를 듣겠다는 말입니다.
그리고 메인 클래스로 가줍니다.
그리고 onEnable에 저 문장을 써줍니다.
이건 서버에게 저 코틀린 클래스가 이벤트를 듣겠다고 전해주는 코드입니다.
이제 본격적으로 코딩을 해보겠습니다.
위 코드는 보면, fun은 클래스를 만들때 사용됩니다.
fun (클래스 이름) (e: (이벤트 이름)) {} 이렇게 해서 새로운 이벤트 클래스를 만들수 있습니다.
@EventHandler
fun Studyy(e:PlayerJoinEvent) {
val p=e.player
e.joinMessage="§a${p.name} §d환영합니다!"
}
(+@EventHandler를 꼭 붙이셔야합니다. 사진에서는 실수로 안붙였네요..)
val 은 변수를 선언 할때 사용됩니다. java로 치면 String, int, long같은거죠.
이제 저 플러그인을 빌드버튼을 눌러 빌드 한뒤
(프로젝트 경로)/build/libs 로 가서 플러그인 파일을 얻을 수 있습니다.
플러그인 테스트를 위해
플러그인을 적용한뒤 서버에 적용한뒤 서버를 실행해줍니다.
서버에 접속하면 서버로그에
Could not pass event PlayerJoinEvent to (플러그인이름) v1.0-SNAPSHOT
java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics
라고 뜨는데요. 이 오류는 서버에서 코틀린을 못 알아 들어서 그런겁니다.
다시 인텔리 제이로 돌아가서
왼쪽 디렉토리 칸에서 reosources파일안의 plugin.yml 파일을 봐줍니다.
그리고 그곳에
libraries:
- org.jetbrains.kotlin:kotlin-stdlib-jdk8:(자신이 설치한 코틀린 버전)
을 추가해줍니다.
그리고 다시 빌드한뒤 서버에 적용시키고
서버를 리로드 시켜주면 됩니다.
이렇게 적용이 됩니다.
댓글목록
lime님의 댓글
lime 작성일그러면 코틀린 말고도 다른것도 된다는 말이네요?
아포칼립스님의 댓글의 댓글
아포칼립스 작성일코틀린 아니면 자바만 마인크래프트 플러그인을 만들 수 있습니다.