Anda dapat menggunakan template ini untuk mengembangkan plugin Spigot berkualitas tinggi Anda sendiri menggunakan Gradle dengan mudah.
Lihat template-server-minecraft untuk memulai jaringan Minecraft Anda dengan cepat dalam waktu kurang dari 30 detik.
Templat atau boilerplate yang lebih baik hadir dengan banyak fitur yang berguna jika Anda ingin mengembangkan plugin berkualitas tinggi. Namun Anda tidak perlu menggunakan semuanya, Anda cukup menghapus fitur yang tidak diperlukan.
plugin.yaml
berdasarkan properti proyek dengan SpiGradletidak perlu lagi nexus yang dihosting sendiri atau server artefaktori
group
: id-grup-maven Anda (misalnya: io.github.silthus)pluginName
: NamaPlugin Andaauthor
: Namamuroot.projectName
di dalam settings.gradle . Ini akan menjadi artifactId
Anda.CHANGELOG.md
. Ini akan dihasilkan pada rilis pertama Anda.README
agar mengarah ke proyek dan id sumber daya keran Anda.prepareSpigotPlugins
ini akan mencoba mengunduh semua denpendensi plugin dan memasukkannya ke dalam debug/spigot/plugins/
.debugPaper
. Ini akan memulai server di latar belakang dan Anda dapat menyambungkannya menggunakan alamat localhost:25565
.Harap baca Pedoman Berkontribusi sebelum mengirimkan permintaan penarikan atau masalah pembukaan apa pun.
CATATAN
Anda mungkin perlu menjalankan tugasgradle clean
setelah mengganti nama paket dan mengimpor ulang proyek gradle untuk mengatasi kesalahan dalam pembuatanplugin.yml
.
Salah satu manfaat utama dari templat ini adalah kenyataan bahwa templat ini akan secara otomatis merilis versi baru pada setiap push to master
berdasarkan pesan komit Anda. Ini memastikan plugin Anda dirilis mengikuti pedoman versi semantik. Agar ini berhasil, Anda harus mengikuti beberapa aturan sederhana:
Lihat beranda penerapan konvensional untuk detail dan contoh lebih lanjut tentang topik tersebut. Namun berikut ini ringkasan singkat untuk membantu Anda memulai.
Spesifikasi Komit Konvensional adalah konvensi ringan di atas pesan komit. Ini memberikan seperangkat aturan yang mudah untuk membuat riwayat penerapan yang eksplisit; yang membuatnya lebih mudah untuk menulis alat otomatis di atasnya. Konvensi ini sesuai dengan SemVer, dengan menjelaskan fitur, perbaikan, dan perubahan besar yang dibuat dalam pesan penerapan.
Pesan komit harus disusun sebagai berikut:
[optional scope]:
[optional body]
[optional footer(s)]
Komit berisi elemen struktural berikut, untuk mengomunikasikan maksud kepada konsumen perpustakaan atau plugin Anda:
fix:
komit bertipe fix menambal bug di basis kode Anda (ini berkorelasi dengan PATCH dalam versi semantik).feat:
komit bertipe feat memperkenalkan fitur baru ke basis kode (ini berkorelasi dengan MINOR dalam pembuatan versi semantik).BREAKING CHANGE:
komit yang memiliki footer BREAKING CHANGE:, atau menambahkan ! setelah tipe/cakupan, memperkenalkan perubahan API yang dapat menyebabkan gangguan (berkorelasi dengan MAYOR dalam versi semantik). PERUBAHAN TERPECAHKAN dapat menjadi bagian dari komitmen jenis apa pun.build:
, chore:
, ci:
, docs:
, style:
, refactor:
, perf:
, test:
, dan lain-lain.BREAKING CHANGE:
dapat disediakan dan mengikuti konvensi yang mirip dengan format git trailer. Tipe tambahan tidak diamanatkan oleh spesifikasi Konvensional Commits, dan tidak memiliki efek implisit dalam pembuatan versi semantik (kecuali jika tipe tersebut menyertakan BREAKING CHANGE). Cakupan dapat diberikan pada tipe komit, untuk memberikan informasi kontekstual tambahan dan terkandung dalam tanda kurung, misalnya, feat(parser): add ability to parse arrays
.
Berikut beberapa contohnya:
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
Plugin Anda akan secara otomatis diterbitkan sebagai paket maven pada paket Github segera setelah Anda merilis versi baru.
group
yang ditambahkan oleh artifactId
Anda digunakan untuk mengidentifikasi proyek Anda secara unik saat mengimpornya ke proyek lain. Saat Anda mengimpor keran di proyek Anda, Anda menggunakan grup org.spigotmc
diikuti dengan artifakId spigot-api
dan versinya.
Berikut ini diambil dari panduan penamaan pakar resmi.
groupId
secara unik mengidentifikasi proyek Anda di semua proyek. ID grup harus mengikuti aturan nama paket Java. Artinya, ini dimulai dengan nama domain terbalik yang Anda kendalikan. Misalnya: org.apache.maven
, org.apache.commons
.io.github
yang ditambah dengan nama pengguna Github Anda, misalnya io.github.silthus
artifactId
adalah nama toples tanpa versi. Jika Anda yang membuatnya, maka Anda dapat memilih nama apa pun yang Anda inginkan dengan huruf kecil dan tanpa simbol yang aneh. Misalnya: `maven, commons-mathAnda perlu mengonfigurasi autentikasi untuk Paket Github jika Anda ingin menggunakan paket maven di proyek lain.
gradle.properties
di dalam C:Users%username%.gradle
dengan yang berikut dan ganti YOUR_GITHUB_USERNAME
dengan nama pengguna Github Anda dan YOUR_PERSONAL_ACCESS_TOKEN
dengan token akses dari langkah 1. gpr.user =YOUR_GITHUB_USERNAME
gpr.key =YOUR_PERSONAL_ACCESS_TOKEN
Anda dapat mengekspor plugin Anda ke direktori plugins dari direktori kerja Anda dengan tugas Gradle prepSpigotPlugins . Tugas ini akan membangun dan menyalin plugin Anda secara otomatis ke direktori plugins/
.
Anda dapat menjalankan atau men-debug plugin Anda menggunakan konfigurasi Server
run dari dalam IntelliJ untuk mengunduh server Minecraft secara otomatis, membuatnya, menyalin plugin Anda dan plugin yang bergantung ke dalamnya, dan memulainya dalam mode debugging.
Hal ini disebabkan oleh kekuatan tugas debug Spigradle yang luar biasa. Cari tahu lebih lanjut di halaman Spigradle Github.