您可以使用此模板轻松使用 Gradle 开发您自己的高质量 Spigot 插件。
请参阅 minecraft-server-template,以便在 30 秒内快速启动您的 Minecraft 网络。
模板或更好的样板附带了许多功能,如果您想开发高质量的插件,这些功能非常有用。但是您不需要使用所有这些功能,您可以简单地删除不需要的功能。
plugin.yaml
不再需要自托管 Nexus 或神器服务器
group
:your-maven-group-id(例如:io.github.silthus)pluginName
: 你的插件名称author
:你的名字root.projectName
。这将是您的artifactId
。CHANGELOG.md
。它将在您的第一个版本中生成。README
以指向您的项目和 spigot 资源 ID。prepareSpigotPlugins
gradle任务,这将尝试下载所有插件依赖项并将它们放入debug/spigot/plugins/
中。debugPaper
任务启动Minecraft 服务器。这将在后台启动服务器,您可以使用localhost:25565
地址连接到它。在提交任何拉取请求或打开问题之前,请阅读贡献指南。
笔记
您可能需要在重命名包并重新导入 gradle 项目后运行gradle clean
任务,以解决生成plugin.yml
时出现的错误。
该模板的主要优点之一是,它会根据您的提交消息在每次推送到master
时自动发布新版本。这可以确保您的插件是按照语义版本控制指南发布的。为此,您必须遵循一些简单的规则:
有关该主题的更多详细信息和示例,请参阅常规提交主页。但这里有一个快速总结可以帮助您入门。
常规提交规范是提交消息之上的轻量级约定。它提供了一组简单的规则来创建显式的提交历史记录;这使得在其上编写自动化工具变得更加容易。通过描述提交消息中所做的功能、修复和重大更改,该约定与 SemVer 相吻合。
提交消息的结构应如下:
[optional scope]:
[optional body]
[optional footer(s)]
提交包含以下结构元素,用于向库或插件的使用者传达意图:
fix:
修复类型的提交会修补代码库中的错误(这与语义版本控制中的 PATCH 相关)。feat:
类型 feat 的提交为代码库引入了一个新功能(这与语义版本控制中的 MINOR 相关)。BREAKING CHANGE:
具有页脚 BREAKING CHANGE: 的提交,或附加 !在类型/范围之后,引入了重大 API 更改(与语义版本控制中的主要相关)。重大变更可以是任何类型提交的一部分。build:
、 chore:
、 ci:
、 docs:
、 style:
、 refactor:
、 perf:
、 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
当您发布新版本时,您的插件将自动作为 Maven 包发布到 Github 包上。
您的artifactId
附加的group
用于在将您的项目导入其他项目时唯一标识您的项目。当您在项目中导入 spigot 时,您可以使用组org.spigotmc
后跟 artifactId spigot-api
和版本。
以下内容摘自官方 Maven 命名指南。
groupId
在所有项目中唯一标识您的项目。组 ID 应遵循 Java 的包名称规则。这意味着它以您控制的反向域名开头。例如: org.apache.maven
、 org.apache.commons
。io.github
并附加您的 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
您可以使用GradleprepareSpigotPlugins任务将插件从工作目录导出到插件目录。该任务将自动构建您的插件并将其复制到plugins/
目录中。
您可以使用 IntelliJ 中的Server
运行配置来运行或调试您的插件,以自动下载 Minecraft 服务器、构建它、将您的插件和依赖插件复制到其中并以调试模式启动它。
这是由于 Spigradle 调试任务的强大功能。在 Spigradle Github 页面上了解更多信息。