프로젝트 제작

홍성재·2024년 3월 6일

Minecraft

목록 보기
2/13

기초 플러그인용 Git

마인크래프트 플러그인

환경(준비물)

  • IntelliJ IDEA Community Edition
    • 플러그인 프로그래밍을 위한 통합 개발 환경

      eclipse도 사용 가능하지만 본인이 경험한 바 Intellij로 갈아타는 것을 추천드립니다.

  • Maven
    • 자바 프로젝트들을 위한 빌드 자동화 도구
  • BuilldTools
    • spigot 및 bukkit 내용을 받기 위한 도구

프로젝트 생성

  1. Intellj에서 New Project
  2. 설정값 입력
    • Name : 프로젝트 이름 설정
    • Language : Java
    • JDK : 마인크래프트 버전에 맞춰서, 본인은 1.20.4 버전으로 open JDK 21 사용 중
      • 비호환시 빌드 혹은 플러그인 실행시 오류발생할 수 있음
    • Create Git repository : git 사용시 check, 미체크해도 추가 가능

pom.xml 수정(예시)

    <build>
    <sourceDirectory>src/main/java</sourceDirectory>
        <resources>
            <resource>
                <targetPath>.</targetPath>
                <filtering>true</filtering>
                <directory>${basedir}/src/main/resources/</directory>
                <includes>
                    <include>plugin.yml</include>
                </includes>
            </resource>
        </resources>
    </build>
    <dependencies>
        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot</artifactId>
            <version>1.20.4-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.bukkit</groupId>
            <artifactId>bukkit</artifactId>
            <version>1.20.4-R0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>
    <repositories>
        <repository>
            <id>spigot-repo</id>
            <url>https://hub.spigotmc.org/nexus/content/groups/public/</url>
        </repository>
    </repositories>
  • groupId와 artifactId는 클래스 위치에 영향을 주므로 띄어쓰기 없이 원하는 값으로 수정
  • version 계통은 본인은 1.20.4로 제작하였으며 버전에 맞춰 수정

plugin.yml 생성

name: structure
version: 1.0.0
description: Made by StarJ
main: shining.starj.structure.Core
api-version: 1.20

commands:
  test:
    description: "테스트"
    usage : "/test"
    operator : admin
  • main은 groupId.artifactId.메인클래스 위치로 지정하면됨.
    • 메인 클래스는 후술할 extends JavaPlugin이 포함된 클래스
  • api-version은 마인크래프트 버전과 일치해야함
  • 그 외 추가 내용은 plugin.yml 글 참고

config.yml 생성

  • 내용은 양식에 맞춰서 본인이 원하는 대로 작성하면 됨
    • 보통 플러그인 내 설정 값 등을 입력
    • 수기로 작성하기보다는 플러그인을 통해 작성하는 것을 추천
  • 메인클래스.saveDefaultConfig()시 없으면 생성된다.
profile
신입 개발자

0개의 댓글