https://github.com/monun/paper-sample-complex
https://github.com/monun/paper-sample-complex
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/monun/paper-sample-complex
- Owner: monun
- License: gpl-3.0
- Archived: true
- Created: 2022-01-07T14:15:14.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-08-16T07:11:08.000Z (almost 3 years ago)
- Last Synced: 2025-03-27T08:12:36.792Z (about 1 year ago)
- Language: Kotlin
- Size: 131 KB
- Stars: 14
- Watchers: 1
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# PaperMC plugin sample (1.17.1+)
[](https://www.azul.com/)
[](http://kotlinlang.org)
[](https://gradle.org)
[](https://www.gnu.org/licenses/gpl-3.0.html)
[](https://www.youtube.com/channel/UCDrAR1OWC2MD4s0JLetN0MA)
## 프로젝트 구성하기
1. 저장소 복제 `git clone https://github.com/monun/paper-sample.git`
2. 프로젝트 이름 변경 (`settings.gradle.kts` 의 `rootProject.name`)
3. 구성 태스크 실행 `./gradlew setupModules`
---
#### API
최상위 계층 인터페이스
---
#### CORE
API의 구현, 실제 실행 코드, `net.minecraft.server` 를 참조하는 코드
하위에 참조할 버전 이름의 프로젝트를 생성 `ex) v1.18`
---
#### PLUGIN
PaperMC 와 상호작용할 JavaPlugin 을 포함한 코드
* `./gradlew devJar` mojang mapped bundler jar
* `./gradlew reobfJar` reobfusecated bundler jar
* `./gradlew clipJar` clip jar
---
#### PUBLISH
배포용 프로젝트
* `./gradlew publishToMavenLocal -Pdev` 로 로컬 저장소에 mojangmapping 버전의 jar 파일을 배포 가능
---
#### 참고
* `api:jar` 태스크를 참조하는 작업 후 `clean` 태스크 실행 불가
* (gradle daemon이 api.jar 를 잡고 있음)
* SNAPSHOT 버전일 경우 `plugin:clipJar` 태스크를 통한 플러그인이 서버에서 실행되지 않음
* SNAPSHOT 버전은 항상 mavenCentral 에서 최신 버전을 확인하는데 실제로 서버에 존재하지 않아서 생기는 문제