3일동안 안보기

apo 서버

 주소apo2073.feathermc.gg

버전: 1.20.4

플러그인 강좌 2편(코틀린)

페이지 정보

profile_image
작성자 아포칼립스
댓글 2건 조회 12,365회 작성일 24-01-28 17:20

본문

 전편과 이어집니다.

스크린샷 2024-01-28 143358.png

첫 시작은 클래스를 하나 만들어줍니다.

org.(이름).(플러그인이름) 이 쓰여있는 폴더 아이코을 우클릭하고

새로만들기 > Kotlin 프로젝트를 선택해줍니다.

스크린샷 2024-01-28 143411.png

그리고 이름을 정해줍니다.

저는 Listener로 하겠습니다.

스크린샷 2024-01-28 143418.png

Listener라는 코틀린 클래스가 생기면 가장 먼저 해줘야 할 일이 있습니다.

스크린샷 2024-01-28 143434.png

이렇게 : Listener를 적어주는겁니다.

이건 플러그인이 서버에서 이벤트를 듣겠다는 말입니다.

그리고 메인 클래스로 가줍니다.

스크린샷 2024-01-28 143516.png

 그리고 onEnable에 저 문장을 써줍니다.

이건 서버에게 저 코틀린 클래스가 이벤트를 듣겠다고 전해주는 코드입니다.

이제 본격적으로 코딩을 해보겠습니다.

 

스크린샷 2024-01-28 165846.png

위 코드는 보면, fun은 클래스를 만들때 사용됩니다.
fun (클래스 이름) (e: (이벤트 이름)) {} 이렇게 해서 새로운 이벤트 클래스를 만들수 있습니다.

      
@EventHandler
fun Studyy(e:PlayerJoinEvent) {
val p=e.player
e.joinMessage="§a${p.name} §d환영합니다!"
}

(+@EventHandler를 꼭 붙이셔야합니다. 사진에서는 실수로 안붙였네요..)

val 은 변수를 선언 할때 사용됩니다. java로 치면 String, int, long같은거죠.

이제 저 플러그인을 스크린샷 2024-01-28 165856.png빌드버튼을 눌러 빌드 한뒤

(프로젝트 경로)/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:(자신이 설치한 코틀린 버전)

 을 추가해줍니다.

그리고 다시 빌드한뒤 서버에 적용시키고

서버를 리로드 시켜주면 됩니다.

스크린샷 2024-01-28 171926.png

이렇게 적용이 됩니다.

 

추천2 비추천0

댓글목록

profile_image

lime님의 댓글

lime 작성일

그러면 코틀린 말고도 다른것도 된다는 말이네요?

profile_image

아포칼립스님의 댓글의 댓글

아포칼립스 작성일

코틀린 아니면 자바만 마인크래프트 플러그인을 만들 수 있습니다.

Total 65건 1 페이지
apo 서버 목록
번호 제목 글쓴이 조회 추천 비추천 날짜
공지
아포칼립스 01-11 0 0 11772
아포칼립스 11772 0 0 01-11
공지
아포칼립스 01-11 0 0 1602
아포칼립스 1602 0 0 01-11
63
abc 15:17 0 0 1
abc 1 0 0 15:17
62
abc 15:12 0 0 1
abc 1 0 0 15:12
61
abc 14:19 0 0 1
abc 1 0 0 14:19
60
abc 13:19 0 0 1
abc 1 0 0 13:19
59
abc 12:26 0 0 1
abc 1 0 0 12:26
58
abc 11-20 0 0 27
abc 27 0 0 11-20
57
abc 11-20 0 0 26
abc 26 0 0 11-20
56
abc 11-20 0 0 26
abc 26 0 0 11-20
55
abc 11-20 0 0 25
abc 25 0 0 11-20
54
abc 11-20 0 0 26
abc 26 0 0 11-20
53
abc 11-19 0 0 25
abc 25 0 0 11-19
52
abc 11-19 0 0 26
abc 26 0 0 11-19
51
abc 11-19 0 0 25
abc 25 0 0 11-19

검색

회원 로그인

SNS

포인트랭킹

1 lime 3,650점
2 Jake 2,230점
3 하루 1,500점
4 지누 1,205점
5 ghoots 1,115점
6 물범 1,100점
7 WaveDEV 1,100점
8 김민준 1,100점

접속자집계

오늘
1,106
어제
1,437
최대
5,025
전체
444,686