이 템플릿을 사용하면 Gradle을 사용하여 자신만의 고품질 Spigot 플러그인을 쉽게 개발할 수 있습니다.
30초 이내에 Minecraft 네트워크를 빠르게 시작하려면 마인크래프트 서버 템플릿을 참조하세요.
템플릿이나 더 나은 상용구에는 고품질 플러그인을 개발하려는 경우 유용한 많은 기능이 포함되어 있습니다. 그러나 모든 기능을 사용할 필요는 없으며 필요하지 않은 기능만 제거하면 됩니다.
plugin.yaml
자동 생성더 이상 자체 호스팅 넥서스나 아티팩트 서버가 필요하지 않습니다.
group
: your-maven-group-id (예: io.github.silthus)pluginName
: 귀하의 플러그인 이름author
: YourNameroot.projectName
을 업데이트합니다 . 이것이 귀하의 artifactId
될 것입니다.CHANGELOG.md
를 삭제합니다 . 첫 번째 릴리스에서 생성됩니다.README
를 업데이트하세요 .prepareSpigotPlugins
gradle 작업을 실행하면 모든 플러그인 종속성을 다운로드하여 debug/spigot/plugins/
에 넣습니다.debugPaper
작업을 실행하여 Minecraft 서버를 시작합니다 . 그러면 백그라운드에서 서버가 시작되고 localhost:25565
주소를 사용하여 서버에 연결할 수 있습니다.끌어오기 요청을 제출하거나 이슈를 열기 전에 기여 지침을 읽어보세요.
메모
plugin.yml
생성 오류를 해결하려면 패키지 이름을 바꾼 후gradle clean
작업을 실행하고 Gradle 프로젝트를 다시 가져와야 할 수도 있습니다.
이 템플릿의 주요 이점 중 하나는 커밋 메시지를 기반으로 master
에 푸시할 때마다 새 버전이 자동으로 릴리스 된다는 점입니다. 이렇게 하면 의미 체계 버전 관리 지침에 따라 플러그인이 릴리스됩니다. 이것이 작동하려면 몇 가지 간단한 규칙을 따라야 합니다.
해당 주제에 대한 자세한 내용과 예제는 기존 커밋 홈페이지를 참조하세요. 하지만 시작하는 데 도움이 되는 간단한 요약은 다음과 같습니다.
Conventional Commits 사양은 커밋 메시지에 추가되는 간단한 규칙입니다. 명시적인 커밋 기록을 생성하기 위한 쉬운 규칙 세트를 제공합니다. 이를 통해 자동화된 도구를 더 쉽게 작성할 수 있습니다. 이 규칙은 커밋 메시지의 기능, 수정 사항 및 주요 변경 사항을 설명함으로써 SemVer와 딱 들어맞습니다.
커밋 메시지는 다음과 같이 구성되어야 합니다.
[optional scope]:
[optional body]
[optional footer(s)]
커밋에는 라이브러리 또는 플러그인 소비자에게 의도를 전달하기 위해 다음과 같은 구조적 요소가 포함되어 있습니다.
fix:
유형의 커밋은 코드베이스의 버그를 패치합니다(이는 의미론적 버전 관리의 PATCH와 관련이 있습니다).feat:
feat 유형의 커밋은 코드베이스에 새로운 기능을 도입합니다(이것은 의미적 버전 관리에서 MINOR와 관련이 있습니다).BREAKING CHANGE:
바닥글이 있는 커밋입니다. 주요 변경 사항: 또는 ! 유형/범위 뒤에는 획기적인 API 변경이 도입됩니다(의미론적 버전 관리에서 MAJOR와 연관됨). 주요 변경 사항은 모든 유형의 커밋에 포함될 수 있습니다.build:
, chore:
, ci:
, docs:
, style:
, refactor:
, perf:
, test:
권장합니다. test:
및 기타.BREAKING CHANGE:
이 제공될 수 있으며 git Trailer 형식과 유사한 규칙을 따를 수 있습니다. 추가 유형은 기존 커밋 사양에서 요구되지 않으며 의미 체계 버전 관리에 암시적인 영향을 미치지 않습니다(주요 변경 사항을 포함하지 않는 한). 범위는 추가 상황 정보를 제공하기 위해 커밋 유형에 제공될 수 있으며 괄호 안에 포함됩니다(예: feat(parser): add ability to parse arrays
.
다음은 몇 가지 예입니다.
feat: allow provided config object to extend other configs
BREAKING CHANGE: `extends` key in config file is now used for extending other config files
docs: correct spelling of CHANGELOG
feat(lang): add polish language
fix: correct minor typos in code
see the issue for details
on typos fixed.
Reviewed-by: Z
Refs #133
새 버전이 출시되는 즉시 플러그인이 Github 패키지에 Maven 패키지로 자동 게시됩니다.
artifactId
로 추가된 group
프로젝트를 다른 프로젝트로 가져올 때 프로젝트를 고유하게 식별하는 데 사용됩니다. 프로젝트에서 스피곳을 가져올 때 org.spigotmc
그룹 뒤에 아티팩트 ID spigot-api
와 버전을 사용합니다.
다음은 공식 Maven 명명 가이드에서 가져온 것입니다.
groupId
모든 프로젝트에서 프로젝트를 고유하게 식별합니다. 그룹 ID는 Java의 패키지 이름 규칙을 따라야 합니다. 이는 귀하가 제어하는 역방향 도메인 이름으로 시작한다는 의미입니다. 예: org.apache.maven
, org.apache.commons
.io.github
사용할 수 있습니다(예: io.github.silthus
.artifactId
버전이 없는 jar의 이름입니다. 이름을 만들었다면 소문자로, 이상한 기호 없이 원하는 이름을 선택할 수 있습니다. 예: `maven, commons-math다른 프로젝트에서 Maven 패키지를 사용하려면 Github 패키지에 대한 인증을 구성해야 합니다.
C:Users%username%.gradle
내에서 gradle.properties
생성하거나 업데이트하고 YOUR_GITHUB_USERNAME
Github 사용자 이름으로 바꾸고 YOUR_PERSONAL_ACCESS_TOKEN
을 1단계의 액세스 토큰으로 바꿉니다. gpr.user =YOUR_GITHUB_USERNAME
gpr.key =YOUR_PERSONAL_ACCESS_TOKEN
Gradle prepareSpigotPlugins 작업을 사용하여 작업 디렉터리에서 플러그인 디렉터리로 플러그인을 내보낼 수 있습니다. 작업은 플러그인을 자동으로 빌드하고 plugins/
디렉터리에 복사합니다 .
IntelliJ 내에서 Server
실행 구성을 사용하여 플러그인을 실행하거나 디버깅하여 Minecraft 서버를 자동으로 다운로드하고 구축한 후 종속 플러그인을 복사하고 디버깅 모드에서 시작할 수 있습니다.
이는 Spigradle 디버그 작업의 놀라운 성능 때문입니다. Spigradle Github 페이지에서 자세한 내용을 알아보세요.