개인 자료란 (JE)

  서버 커뮤니티

Profile MinsooM2 대표칭호 없음

Minsoo_7 9301678c923b4f239d48e55199609cb8

Profile

강좌 자바 에디션(JE) 플러그인 개발

[ 1강 ] 너도하고 나도하는 Skript : 메세지를 출력하자!

2020.01.17 조회 수 344 추천 수 2
분야 스크립트 
게임버전 1.12.x 

6be6585a3f2ae1c1f9d476984ae827aa.png


우리는 서버를 개발하고, 플레이하며 한 번쯤은 스크립터 계열 플러그인을 만나보았습니다.

누군가는 스크립터 계열 플러그인을 이용하여 누군가가 보았을 때 탄성이 나오는 서버를 만들어 내고,

누군가는 어려움에 부딪혀 좋은 아이디어가 있음에도 만들어내지 못하는 사람들도 있습니다.

필자는 이렇게 생각합니다.

좋은 아이디어가 있지만, 자신의 한계로 빛을 보지 못 하는 일이 없어야 한다고 말입니다.

또한 배움에는 끝이 없다는 말이 있습니다.

필자 또한 이 글을 쓰고 피드백과 질문을 받으며 한층 더 성장하는 계기가 되었으면 합니다.

상상을 게임으로 풀어내는 스크립터가 되시길 바랍니다.


[ + 2020/01/18 ] 강의 내용 확인중 설명하지 못한 부분을 보충하였습니다.

                                     또한 다음 강좌에 대한 내용을 수정하였습니다. ( 추가된 부분은 하이라이트 처리 했습니다. )



0. 사용환경

  •  마인크래프트 버전: 1.12.2
  • 버킷 버전:  git-Paper-1618 (MC: 1.12.2) / API  1.12.2-R0.1-SNAPSHOT [ PaperMC ]
  • 스크립트 버전: 2.4  [ SKriptLang Github ]


1.  Skript 란?

먼저 Skript는 스크립터 계열의 플러그인입니다.
또한 한국에서 약 206개의 서버가 사용 중인 플러그인이기도 합니다. ( bStats 기준 )
이 글을 읽으시는 분들 중에는 스크립터 플러그인을 사용해보신 분들도 있을 것입니다.
우리가 배우게 될 Skript 플러그인은 'bensku'를 필두로 약 53명의 개발자가 제작한 플러그인입니다.
Skript는 인 게임 내에서의 명령어로 수정하는 것이 아닌, 스크립트 폴더 내의 '.sk' 형태로 생성되는 파일을 수정하여 사용합니다.
Skript는 애드온을 이용한 확장이 가능한 플러그인으로 추후 이 부분에 대해 다뤄보도록 하겠습니다.



2. 메세지를 출력하자!

저희의 첫 번째 목표는 거의 모든 프로그래밍의 시작인 출력을 해보는 것입니다.
스크립트를 설치 후 서버를 실행하면 서버의 플러그인 폴더 내부에 Skript 폴더가 생성되었을 것입니다.
Skript 폴더 안에 있는 Scripts 폴더에 'Hello_World.sk'라는 이름을 가진 파일을 생성해주세요.
생성한 파일을 불러온 뒤 아래와 같이 따라 써주세요.

On Load:
    broadcast "Hello World"


3. 스크립트 적용

인 게임에서 /skript reload Hello_World 명령어로 스크립트를 적용시켜주겠습니다.

3e70ec6f00034b6c0e12c2bd5256774d.pngResult.png

의도한 대로 "Hello World"가 출력되었습니다.


4. 해석

위에서 쓴 On Load: 의 의미는 우리가 만든 스크립트 파일이 불러와질 때 호출되는 이벤트입니다.

반대 되는 이벤트는 On Unload: 로 스크립트가 언로드 되기 직전에 호출되는 이벤트 입니다.

또한 On Load: 아랫줄은 공백 즉 들여쓰기로 시작하는것을 보실 수 있습니다.

타 언어는 들여쓰기는 검사하지 않습니다. 즉 가독성을 위한 들여쓰기라는 것입니다.

하지만 스크립트에서는 들여쓰기에 따라 스크립트의 구조를 해석하기에 들여쓰기가 필수적입니다.

이 부분에 대해서는 스크립트를 보고 또 보시다보면 이해가 가실겁니다.

 broadcast "Hello World" 는 추후 설명하겠지만 간단하게 설명하면 서버 전체 플레이어 및 버킷에 "Hello World" 를 출력합니다.


태어나서 처음 써보는 강좌 글입니다.
타 프로그래밍 책의 구성이 Hello World로 시작하기에 저도 한번 따라 해보았습니다.
여러분의 상상을 게임으로 만들 수 있도록, 또한 저 또한 이 강좌 글을 쓰며 성장해나갈 수 있도록 노력하겠습니다.
다음 강좌에서는 주석처리와 변수에 대해 알아보도록 하겠습니다
또한 추후 시간이 된다면 스크립트의 변수를MYSQL에 저장하는 방법또한 서술하겠습니다.





6개의 댓글

윈초
2020.01.17

이예에에에(대단해(?))

MinsooM2
2020.01.17
@윈초

열심히 연재해보도록 하겠습니다!

윈초
2020.01.17
@MinsooM2

감사합니다~~

프리루트
2020.01.17

응원합니다 :)

이런 질좋은 글이 많아질수록 개발자 커뮤니티도 점점 활성화되어가겠죠!

DDang_
2020.01.18

또한 추후 시간이 된다면 스크립트의 변수를MYSQL에 저장하는 방법또한 서술하겠습니다.

기대하겠습니다

테크미
2020.01.24

글 퀄리티 와우!

뉴스 및 창작물
/files/thumbnails/520/751/003/262x150.crop.jpg?20240328020349

레드스톤

마인크래프트 노트블록으로 만든 『 Bling‐Bang‐Bang‐Born 』 1

Sonttukk

2024-03-23

1

/files/thumbnails/467/742/003/262x150.crop.jpg?20240311163123

레드스톤

[노트블럭커버] MILGRAM -ミルグラム(밀그램)- / 아마네 「숙청 행진」 제 2심 2

리비온

2024-03-11

0

/files/thumbnails/846/741/003/262x150.crop.jpg?20240310221214

레드스톤

워든 vs 라마 200마리 1

GlassesFilm

2024-03-10

0

/files/thumbnails/542/739/003/262x150.crop.jpg?20240309070457

레드스톤

[고인의 명복을 빕니다][노트블럭]드래곤볼 GT 오프닝 - 점점 마음이 끌려

리비온

2024-03-09

0

/files/thumbnails/326/738/003/262x150.crop.jpg?20240328020414

레드스톤

마인크래프트 노트블록으로 만든 『 Build Our Machine 』

Sonttukk

2024-03-07

0

/files/thumbnails/952/735/003/262x150.crop.jpg?20240303230423

소식

복잡한 설치 없이 마크 애드온을 즐겨보세요! 새로운 블록, 몹, 조합법 등!

도라

2024-03-03

0

/files/thumbnails/212/735/003/262x150.crop.jpg?20240303113438

레드스톤

성장속도 실험

GlassesFilm

2024-03-03

3