*이 글은 Spigot 1.19.3 버전을 기준으로 하여 제작되었습니다.
지난 화
https://zepelown.tistory.com/45
연결되는 화
https://zepelown.tistory.com/32
만약 이 글이 안되면 참고하세요
[인텔리제이로 마크 플러그인 개발하기](보충) Gradle로 jar 빌드하기 2 (tistory.com)
1화에서 Maven으로 진행하였습니다.
하지만 Gradle을 선택 시에는 위 강의처럼 진행하면 jar파일이 경로에 원하는 대로 생기지 않습니다.
이를 해결하는 방법입니다.
먼저 임의로 Gradle으로 프로젝트를 생성하였습니다.
그러면 위와 같이 자동으로 프로젝트를 생성해줍니다.
여기서 확인할 파일은 build.gradle이고 열어줍시다.
plugins {
id 'java'
}
group = 'io.github.zepelown'
version = '1.0-SNAPSHOT'
repositories {
mavenCentral()
maven {
name = 'spigotmc-repo'
url = 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/'
}
maven {
name = 'sonatype'
url = 'https://oss.sonatype.org/content/groups/public/'
}
}
dependencies {
compileOnly 'org.spigotmc:spigot-api:1.19.3-R0.1-SNAPSHOT'
}
def targetJavaVersion = 17
java {
def javaVersion = JavaVersion.toVersion(targetJavaVersion)
sourceCompatibility = javaVersion
targetCompatibility = javaVersion
if (JavaVersion.current() < javaVersion) {
toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion)
}
}
tasks.withType(JavaCompile).configureEach {
if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) {
options.release = targetJavaVersion
}
}
processResources {
def props = [version: version]
inputs.properties props
filteringCharset 'UTF-8'
filesMatching('plugin.yml') {
expand props
}
}
빌드를 할 때 필요한 코드들이 적혀있습니다.
저희는 여기서 코드를 추가해줘야 합니다.
jar {
destinationDir new File (
"C:\\Users\\test\\Desktop\\minecraft\\1.19.3 plugin develop server\\plugins"
)
manifest {
attributes 'Main-Class' : 'io.github.zepelown.mysandbox.Main'
}
}
위와 같이 작성해주시면 됩니다.
destinationDir new File 뒤에는 서버 폴더가 있는 곳을
manifest는 플러그인을 구동하는 메인 클래스를 지정해주면 됩니다.
여기서 메인 클래스가 뭐냐면
package io.github.zepelown.mysandbox;
import io.github.zepelown.mysandbox.command.OpenInv;
import io.github.zepelown.mysandbox.event.InvClickEvent;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
public final class Main extends JavaPlugin {
// 플러그인 인스턴스
Plugin serverinstance;
// 커맨드 등록
private OpenInv commandOpenInvInstacne;
// 이벤트 등록
private InvClickEvent eventInvClickInstance;
public Main(){
serverinstance = this;
commandOpenInvInstacne = new OpenInv();
eventInvClickInstance = new InvClickEvent();
}
@Override
public void onEnable() {
// 커맨드 등록
getServer().getPluginCommand("openinv").setExecutor(commandOpenInvInstacne);
// 이벤트 등록
getServer().getPluginManager().registerEvents(eventInvClickInstance, serverinstance);
}
@Override
public void onDisable() {
}
}
onEnable()과 onDisable() 함수를 사용하는 클래스라고 생각하시면 됩니다.
이제 설정은 끝났습니다.
빌드를 하기 위해선
인텔리제이 오른쪽에 보면
Gradle 창을 열 수가 있고
여기서 Tasks -> build -> jar 를
눌러주시면 됩니다.
그러면 빌드가 진행되며 이후엔
초록색 화살표를 눌러주시면 됩니다.
플러그인이 정상적으로 빌드가 됐음을 알 수가 있습니다.
'마인크래프트 > 플러그인 제작 강좌(자바)' 카테고리의 다른 글
[인텔리제이로 마크 플러그인 개발하기]9. config.yml 제작하기 1편 (플레이어 입장 메시지 만들기) (0) | 2023.01.13 |
---|---|
[인텔리제이로 마크 플러그인 개발하기]8. 나만의 포션 제작하기 (커스텀 포션) (0) | 2023.01.11 |
[인텔리제이로 마크 플러그인 개발하기]7. 나만의 인벤토리 GUI 만들기 2편 (인벤토리와 관련된 이벤트 처리하기) (5) | 2022.10.10 |
[인텔리제이로 마크 플러그인 개발하기]6. 나만의 인벤토리 GUI 만들기 1편 (기본적인 인벤토리 작성법) (3) | 2022.09.18 |
[인텔리제이로 마크 플러그인 개발하기]5. 나만의 명령어 만들기 (give, help 명령어 만들어보기) (11) | 2022.09.15 |
댓글