Scala의 Nukkit 플러그인

전치



Nukkit 1 의 플러그인이 kotlin으로 작성할 수 있다고 듣고 「Scala에서도 할 수 있는 것은?」

완성품은 이쪽으로
htps : // 기주 b. 코 m / 스누 아 / 도금 t_s 또는 ぁ_p ㅅ

환경



scala:2.12.7
sbt:1.2.3

전제 조건



nukkit으로 서버를 구축

scala 환경 구축
intellij IDE 설치
intellij IDE용 Scala 플러그인 설치

프로젝트 만들기



intellij를 열고 scala→sbt→next
new project

이번에는 Sample라는 플러그인을 만듭니다.
이름을 샘플로
location에서 좋아하는 디렉토리를 선택하세요.
new project2

Nukkit 로드



intellij 로드가 끝나면 파일 관리자를 열고 Sample/libs 디렉토리를 만들고 nukkit-1.0-SNAPSHOT.jar 를 복사하여 가져옵니다.
nukkit load

Project Structure→models→Sample(프로젝트명)→Dependencies→+버튼→JARs or directories→nukkit-1.0-SNAPSHOT.jar


SBT 준비


Sample/build.sbt
Sample/build.sbt
unmanagedBase := baseDirectory.value / "libs"

을 작성합니다.
Sample/project/plugins.sbt 만들기

Sample/project/plugins.sbt
resolvers += Resolver.url("artifactory", url("http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases"))(Resolver.ivyStylePatterns)
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.7")

그리고 씁니다.

nukkit 플러그인을위한 준비


Sample\src\main\resources\plugin.yml 를 작성하신 코드를 복사합니다.

Sample\src\main\resources\plugin.yml

name: Sample #プラグインの名前
main: my.plugin.Sample #Mainクラスの場所
version: 0.0.1
author: suinua
api: ["1.0.0"]
Sample\src\main\scala 를 마우스 오른쪽 버튼으로 클릭 → new → Packageplugin.yml 에 쓴 main:my.plugin.Sample 보다 my.plugin nukkit plugin prepare

만든 my.plugin 왼쪽 클릭 → Scala Classplugin.yml 에 쓴 main:my.plugin.Sample 보다 Sample nukkit plugin prepare2
Sample.scala 에 다음을 복사

Sample\src\main\scala\my\plugin\Sample.scala
package my.plugin


import cn.nukkit.event.EventHandler
import cn.nukkit.event.Listener
import cn.nukkit.event.player.PlayerJoinEvent
import cn.nukkit.plugin.PluginBase


class Sample extends PluginBase with Listener{

  override def onEnable(): Unit = {
    this.getServer.getPluginManager.registerEvents(this, this)
  }

  @EventHandler def onPlayerJoin(event: PlayerJoinEvent): Unit = {
    event.getPlayer.sendMessage("Hello, World.")
  }
}

jar로 컴파일



터미널 열기 sbt assembly 실행
경우에 따라서는 10분 정도 걸립니다(처음만일까?)[success] Total time: ** s, completed ****/**/** **:**:** 그리고 나면 성공입니다.
Sample\target\scala-2.12Sample-assembly-0.1.jar 가 생성됩니다.Sample-assembly-0.1.jar 를 복사하여 nukkit plugins 폴더에
서버를 시작합니다.

채팅란에 Hello,World 라고 표시되면 성공입니다 👍




nukkit은 Minecraft Be 용 서버 소프트웨어입니다. nukkit 공식 사이트 

좋은 웹페이지 즐겨찾기