Sie können diese Vorlage verwenden, um ganz einfach Ihre eigenen hochwertigen Spigot-Plugins mit Gradle zu entwickeln.
Sehen Sie sich die Minecraft-Server-Vorlage an, um Ihr Minecraft-Netzwerk in weniger als 30 Sekunden schnell zu starten.
Die Vorlage oder besser Boilerplate enthält viele Funktionen, die nützlich sind, wenn Sie hochwertige Plugins entwickeln möchten. Sie müssen jedoch nicht alle davon nutzen, sondern können einfach die Funktionen entfernen, die Sie nicht benötigen.
plugin.yaml
basierend auf Projekteigenschaften mit SpiGradleEs ist kein selbstgehosteter Nexus oder Artefaktserver mehr erforderlich
group
: Ihre-Maven-Gruppen-ID (z. B. io.github.silthus)pluginName
: IhrPluginNameauthor
: YourNameroot.projectName
in Settings.gradle . Dies wird Ihre artifactId
sein.CHANGELOG.md
. Es wird bei Ihrer ersten Veröffentlichung generiert.README
so, dass sie auf Ihr Projekt und die Spigot-Ressourcen-ID verweist.prepareSpigotPlugins
aus. Dadurch wird versucht, alle Plugin-Abhängigkeiten herunterzuladen und sie in debug/spigot/plugins/
abzulegen.debugPaper
ausführen. Dadurch wird der Server im Hintergrund gestartet und Sie können über die Adresse localhost:25565
eine Verbindung zu ihm herstellen.Bitte lesen Sie die Beitragsrichtlinien, bevor Sie Pull-Anfragen einreichen oder Probleme eröffnen.
NOTIZ
Möglicherweise müssen Sie nach dem Umbenennen der Pakete die Aufgabegradle clean
ausführen und das Gradle-Projekt erneut importieren, um Fehler beim Generieren vonplugin.yml
zu beheben.
Einer der Hauptvorteile dieser Vorlage ist die Tatsache, dass sie bei jedem Push-to master
automatisch eine neue Version basierend auf Ihren Commit-Nachrichten veröffentlicht . Dadurch wird sichergestellt, dass Ihr Plugin gemäß den Richtlinien zur semantischen Versionierung veröffentlicht wird. Damit dies funktioniert, müssen Sie einige einfache Regeln befolgen:
Weitere Details und Beispiele zu diesem Thema finden Sie auf der herkömmlichen Commit-Homepage. Aber hier ist eine kurze Zusammenfassung, um Ihnen den Einstieg zu erleichtern.
Die Spezifikation „Conventional Commits“ ist eine einfache Konvention zusätzlich zu Commit-Nachrichten. Es bietet einen einfachen Satz von Regeln zum Erstellen eines expliziten Commit-Verlaufs. Dadurch ist es einfacher, darüber automatisierte Tools zu schreiben. Diese Konvention passt zu SemVer, indem sie die Funktionen, Korrekturen und Breaking Changes beschreibt, die in Commit-Nachrichten vorgenommen werden.
Die Commit-Nachricht sollte wie folgt aufgebaut sein:
[optional scope]:
[optional body]
[optional footer(s)]
Der Commit enthält die folgenden Strukturelemente, um den Verbrauchern Ihrer Bibliothek oder Ihres Plugins die Absicht mitzuteilen:
fix:
Ein Commit vom Typ „fix“ behebt einen Fehler in Ihrer Codebasis (dies korreliert mit PATCH in der semantischen Versionierung).feat:
Ein Commit vom Typ feat führt eine neue Funktion in die Codebasis ein (dies korreliert mit MINOR in der semantischen Versionierung).BREAKING CHANGE:
ein Commit, der eine BREAKING CHANGE:-Fußzeile hat oder ein ! anhängt führt nach dem Typ/Bereich eine bahnbrechende API-Änderung ein (korreliert mit MAJOR in der semantischen Versionierung). Eine BREAKING CHANGE kann Teil von Commits jeglicher Art sein.build:
, chore:
, ci:
, docs:
, style:
, refactor:
, perf:
, test:
, und andere.BREAKING CHANGE:
können bereitgestellt werden und einer Konvention folgen, die dem Git-Trailer-Format ähnelt. Zusätzliche Typen werden von der Spezifikation für konventionelle Commits nicht vorgeschrieben und haben keine implizite Auswirkung auf die semantische Versionierung (es sei denn, sie enthalten eine BREAKING CHANGE). Für den Typ eines Commits kann ein Bereich bereitgestellt werden, um zusätzliche Kontextinformationen bereitzustellen. Er ist in Klammern enthalten, z. B. feat(parser): add ability to parse arrays
.
Hier einige Beispiele:
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
Ihr Plugin wird automatisch als Maven-Paket auf Github-Paketen veröffentlicht, sobald Sie eine neue Version veröffentlichen.
Die durch Ihre artifactId
angehängte group
wird verwendet, um Ihr Projekt beim Importieren in andere Projekte eindeutig zu identifizieren. Wenn Sie Spigot in Ihr Projekt importieren, verwenden Sie die Gruppe org.spigotmc
gefolgt von der Artefakt-ID spigot-api
und der Version.
Das Folgende wurde dem offiziellen Leitfaden zur Benennung von Maven entnommen.
groupId
identifiziert Ihr Projekt eindeutig über alle Projekte hinweg. Eine Gruppen-ID sollte den Paketnamensregeln von Java entsprechen. Das bedeutet, dass es mit einem umgekehrten Domänennamen beginnt, den Sie kontrollieren. Zum Beispiel: org.apache.maven
, org.apache.commons
.io.github
verwenden, an die Ihr Github-Benutzername angehängt ist, z. B. io.github.silthus
artifactId
ist der Name der JAR-Datei ohne Version. Wenn Sie es erstellt haben, können Sie einen beliebigen Namen mit Kleinbuchstaben und ohne seltsame Symbole wählen. Zum Beispiel: „maven, commons-math.“Sie müssen die Authentifizierung für Github-Pakete konfigurieren, wenn Sie Ihr Maven-Paket in anderen Projekten verwenden möchten.
gradle.properties
in C:Users%username%.gradle
wie folgt und ersetzen Sie YOUR_GITHUB_USERNAME
durch Ihren Github-Benutzernamen und YOUR_PERSONAL_ACCESS_TOKEN
durch das Zugriffstoken aus Schritt 1. gpr.user =YOUR_GITHUB_USERNAME
gpr.key =YOUR_PERSONAL_ACCESS_TOKEN
Sie können Ihr Plugin mit der Gradle-Aufgabe „ prepareSpigotPlugins “ aus Ihrem Arbeitsverzeichnis in das Plugins-Verzeichnis exportieren. Die Aufgabe erstellt und kopiert Ihr Plugin automatisch in das plugins/
-Verzeichnis.
Sie können Ihr Plugin mithilfe der Server
Ausführungskonfiguration in IntelliJ ausführen oder debuggen, um den Minecraft-Server automatisch herunterzuladen, ihn zu erstellen, Ihre und abhängigen Plugins hinein zu kopieren und ihn im Debugging-Modus zu starten.
Dies liegt an der unglaublichen Leistungsfähigkeit der Debug-Aufgaben von Spigradle. Erfahren Sie mehr auf der Spigradle-Github-Seite.