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
이번에는 Sample
라는 플러그인을 만듭니다.
이름을 샘플로
location에서 좋아하는 디렉토리를 선택하세요.
Nukkit 로드
intellij 로드가 끝나면 파일 관리자를 열고 Sample/libs
디렉토리를 만들고 nukkit-1.0-SNAPSHOT.jar
를 복사하여 가져옵니다.
Project Structure→models→Sample(프로젝트명)→Dependencies→+버튼→JARs or directories→nukkit-1.0-SNAPSHOT.jar
SBT 준비
Sample/build.sbt
Sample/build.sbtunmanagedBase := baseDirectory.value / "libs"
을 작성합니다.
Sample/project/plugins.sbt
만들기
Sample/project/plugins.sbtresolvers += 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
만든 my.plugin
왼쪽 클릭 → Scala Classplugin.yml
에 쓴 main:my.plugin.Sample
보다 Sample
Sample.scala
에 다음을 복사
Sample\src\main\scala\my\plugin\Sample.scalapackage 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.12
에 Sample-assembly-0.1.jar
가 생성됩니다.Sample-assembly-0.1.jar
를 복사하여 nukkit plugins 폴더에
서버를 시작합니다.
채팅란에 Hello,World
라고 표시되면 성공입니다 👍
nukkit은 Minecraft Be 용 서버 소프트웨어입니다. nukkit 공식 사이트 ↩
Reference
이 문제에 관하여(Scala의 Nukkit 플러그인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/suinua/items/f141051956d5a18cada1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
scala:2.12.7
sbt:1.2.3
전제 조건
nukkit으로 서버를 구축
scala 환경 구축
intellij IDE 설치
intellij IDE용 Scala 플러그인 설치
프로젝트 만들기
intellij를 열고 scala→sbt→next
이번에는 Sample
라는 플러그인을 만듭니다.
이름을 샘플로
location에서 좋아하는 디렉토리를 선택하세요.
Nukkit 로드
intellij 로드가 끝나면 파일 관리자를 열고 Sample/libs
디렉토리를 만들고 nukkit-1.0-SNAPSHOT.jar
를 복사하여 가져옵니다.
Project Structure→models→Sample(프로젝트명)→Dependencies→+버튼→JARs or directories→nukkit-1.0-SNAPSHOT.jar
SBT 준비
Sample/build.sbt
Sample/build.sbtunmanagedBase := baseDirectory.value / "libs"
을 작성합니다.
Sample/project/plugins.sbt
만들기
Sample/project/plugins.sbtresolvers += 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
만든 my.plugin
왼쪽 클릭 → Scala Classplugin.yml
에 쓴 main:my.plugin.Sample
보다 Sample
Sample.scala
에 다음을 복사
Sample\src\main\scala\my\plugin\Sample.scalapackage 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.12
에 Sample-assembly-0.1.jar
가 생성됩니다.Sample-assembly-0.1.jar
를 복사하여 nukkit plugins 폴더에
서버를 시작합니다.
채팅란에 Hello,World
라고 표시되면 성공입니다 👍
nukkit은 Minecraft Be 용 서버 소프트웨어입니다. nukkit 공식 사이트 ↩
Reference
이 문제에 관하여(Scala의 Nukkit 플러그인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/suinua/items/f141051956d5a18cada1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
intellij를 열고 scala→sbt→next
이번에는
Sample
라는 플러그인을 만듭니다.이름을 샘플로
location에서 좋아하는 디렉토리를 선택하세요.
Nukkit 로드
intellij 로드가 끝나면 파일 관리자를 열고 Sample/libs
디렉토리를 만들고 nukkit-1.0-SNAPSHOT.jar
를 복사하여 가져옵니다.
Project Structure→models→Sample(프로젝트명)→Dependencies→+버튼→JARs or directories→nukkit-1.0-SNAPSHOT.jar
SBT 준비
Sample/build.sbt
Sample/build.sbtunmanagedBase := baseDirectory.value / "libs"
을 작성합니다.
Sample/project/plugins.sbt
만들기
Sample/project/plugins.sbtresolvers += 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
만든 my.plugin
왼쪽 클릭 → Scala Classplugin.yml
에 쓴 main:my.plugin.Sample
보다 Sample
Sample.scala
에 다음을 복사
Sample\src\main\scala\my\plugin\Sample.scalapackage 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.12
에 Sample-assembly-0.1.jar
가 생성됩니다.Sample-assembly-0.1.jar
를 복사하여 nukkit plugins 폴더에
서버를 시작합니다.
채팅란에 Hello,World
라고 표시되면 성공입니다 👍
nukkit은 Minecraft Be 용 서버 소프트웨어입니다. nukkit 공식 사이트 ↩
Reference
이 문제에 관하여(Scala의 Nukkit 플러그인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/suinua/items/f141051956d5a18cada1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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
만든 my.plugin
왼쪽 클릭 → Scala Classplugin.yml
에 쓴 main:my.plugin.Sample
보다 Sample
Sample.scala
에 다음을 복사
Sample\src\main\scala\my\plugin\Sample.scalapackage 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.12
에 Sample-assembly-0.1.jar
가 생성됩니다.Sample-assembly-0.1.jar
를 복사하여 nukkit plugins 폴더에
서버를 시작합니다.
채팅란에 Hello,World
라고 표시되면 성공입니다 👍
nukkit은 Minecraft Be 용 서버 소프트웨어입니다. nukkit 공식 사이트 ↩
Reference
이 문제에 관하여(Scala의 Nukkit 플러그인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/suinua/items/f141051956d5a18cada1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
name: Sample #プラグインの名前
main: my.plugin.Sample #Mainクラスの場所
version: 0.0.1
author: suinua
api: ["1.0.0"]
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.")
}
}
터미널 열기
sbt assembly
실행경우에 따라서는 10분 정도 걸립니다(처음만일까?)
[success] Total time: ** s, completed ****/**/** **:**:**
그리고 나면 성공입니다.Sample\target\scala-2.12
에 Sample-assembly-0.1.jar
가 생성됩니다.Sample-assembly-0.1.jar
를 복사하여 nukkit plugins 폴더에서버를 시작합니다.
채팅란에
Hello,World
라고 표시되면 성공입니다 👍nukkit은 Minecraft Be 용 서버 소프트웨어입니다. nukkit 공식 사이트 ↩
Reference
이 문제에 관하여(Scala의 Nukkit 플러그인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/suinua/items/f141051956d5a18cada1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)