3일동안 안보기

apo 서버

 주소apo2073.feathermc.gg

버전: 1.20.4

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

페이지 정보

profile_image
작성자 아포칼립스
댓글 2건 조회 3,915회 작성일 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 25건 1 페이지
apo 서버 목록
번호 제목 글쓴이 조회 추천 비추천 날짜
공지
아포칼립스 01-11 0 0 5748
아포칼립스 5748 0 0 01-11
공지
아포칼립스 01-11 0 0 692
아포칼립스 692 0 0 01-11
23
아포칼립스 05-05 1 0 971
아포칼립스 971 1 0 05-05
22
아포칼립스 04-23 1 0 219
아포칼립스 219 1 0 04-23
21
아포칼립스 03-22 0 0 364
아포칼립스 364 0 0 03-22
20
아포칼립스 03-21 0 0 356
아포칼립스 356 0 0 03-21
19
아포칼립스 03-21 0 0 351
아포칼립스 351 0 0 03-21
18
아포칼립스 03-21 0 0 346
아포칼립스 346 0 0 03-21
17
아포칼립스 03-21 0 0 360
아포칼립스 360 0 0 03-21
16
아포칼립스 03-19 0 0 349
아포칼립스 349 0 0 03-19
15
아포칼립스 02-27 0 0 606
아포칼립스 606 0 0 02-27
14
아포칼립스 02-27 0 0 581
아포칼립스 581 0 0 02-27
13
아포칼립스 02-18 0 0 602
아포칼립스 602 0 0 02-18
12
아포칼립스 02-18 0 0 569
아포칼립스 569 0 0 02-18
11
아포칼립스 02-16 0 0 593
아포칼립스 593 0 0 02-16

검색

회원 로그인

SNS

포인트랭킹

1 아포칼립스 12,089점
2 ghoots 5,485점
3 lime 2,940점
4 Jake 2,130점
5 지누 1,205점
6 WaveDEV 1,100점
7 김민준 1,100점
8 레오 1,100점

접속자집계

오늘
373
어제
821
최대
3,492
전체
131,761