跳到主要内容

开发指南(1. 项目配置)

这是我们的开发指南的第一章,你可以在这里查看目录。

1. 必要工具

在开发之前,你需要安装以下工具:

  1. Java JDK 16+
  2. 任意 Java IDE(强烈建议使用 IntelliJ IDEA)
  3. Apache Maven(IntelliJ IDEA 自带)
  4. Git(推荐,用于版本管理)

我们不会详细阐述如何下载并安装这些工具,请自行使用搜索引擎或 ChatGPT 解决。
当你安装完这些工具后,进入下一步。

2. 创建一个新的 GitHub 仓库

完成该步骤需要你拥有一个 GitHub 账号,我们为你制作了一个漂亮的 Slimefun 附属模版。

点击访问:Slimefun 官方附属模版 | 简中汉化组附属模版

选择一个模版,然后打开模版的页面。点击 Use this template 来使用该模版新建你的仓库。
你需要在页面中填写你的附属名称(英文),以及其他的选项。

当你填写完毕后,点击 Create repository from template 即可。

3. 设置项目

现在,你的项目拥有了一个 GitHub 仓库,你可以将它克隆到本地并导入到 IDE 中了。
你应该去了解一下如何使用你在第一部分中选择的 IDE 导入项目。
确保你在 IDE 中配置好你的项目,之后你需要推送内容到 GitHub。

Maven

现在,我们需要简单地聊一下 Maven。

Maven 是一个许多 Java 项目使用的依赖管理器。我们的模版项目已经包含了一个配置好的 Maven 设置。
但你需要确保你的项目被 IDE 正确地读取为 Maven 项目。你可以去了解如何在你的 IDE 中配置 Maven 项目。
你的项目将使用 Maven 进行编译、打包,如果你想分享或发布你的附属,你需要 Maven。

协议

你应该给你的项目选择一个协议。我们建议你选择一个开源协议,这样任何人都可以给你的项目贡献代码。
你可以在 ChooseALicense.com 网站来选择适合你项目的开源协议。
如果你不想为了选择开源协议而烦恼,我们建议你使用 MIT 协议

要选择协议,只需要在你的项目根目录中新建一个文件 LICENSE(没有后缀),并将协议文本复制到该文件中即可。

自述文件

你的项目需要一个自述文件(README.md)。
我们的模版项目的自述文件介绍了如何配置你的项目(在指南第四部分也会涉及到)。
但你应该在自述文件中介绍你的项目,并包括一些相关的链接,比如发布帖或下载链接。

自述文件会在用户访问你的仓库时展示,所以把它弄得漂亮点。

4. 重要步骤

这一步非常重要。
现在,你的项目仍然有许多需要替换的地方。 打开项目根目录中的 pom.xml,在文件头部,你应该可以看到这 4 个部分

你的 groupId

每一个 Java 项目都有一个包名(package id)或组名(group id)。
该名称是为了识别你是一个个人开发者,或者代表一个组织。
该名称必须为全部小写,以下是一些例子:

  • me.ybw0014(me开头的通常代表个人)
  • dev.ybw0014(如果你拥有网站,使用你网站域名的倒序)
  • com.google.example(如果你属于某个组织,例如 Google,则使用这种格式。不要假冒任何组织,只有当你的项目是以组织名义制作时才使用该格式)
  • io.github.ybw0014(如果你的仓库在 GitHub 托管并开源,你可以使用该格式)

对于大多数开发者来说,我们建议使用me.你的名字来作为包名(记住,全部小写,使用 _ 来表示空格)。

注意

记住这个包名,我们稍后会用到。

你的 projectId

每一个 Java 项目都有一个项目名(project id)。
项目名将与包名一起组合为你的包标识符,它应该是唯一的。

你的项目名应该与项目名称一致,例如CoolAddon
需要注意,项目名不一定像组名一样要全部小写。

注意

记住这个项目名,我们稍后会用到。

你的 pom.xml

pom.xml 是任何 Maven 项目的心脏。
现在,你需要用到之前定下的包名与项目名。
你的 pom.xml 文件开头应该有以下内容:

    <modelVersion>4.0.0</modelVersion>
<groupId>me.CHANGEME</groupId>
<artifactId>SlimefunAddon</artifactId>
<version>1.0.0</version>

groupIdartifactId 分别改为你的包名与项目名。
现在,你的 pom.xml 文件开头应该看起来像这样:

    <modelVersion>4.0.0</modelVersion>
<groupId>me.ybw0014</groupId>
<artifactId>CoolAddon</artifactId>
<version>1.0.0</version>
注意

不要忘记包名与项目名,后面还会用到。

你的 plugin.yml

plugin.yml 是任何 Bukkit 插件的心脏。
它位于 src/main/resources/plugin.yml
它看起来像这样:

name: SlimefunAddon
version: ${project.version}
author: CHANGEME
description: A generic Slimefun4-Addon
website: https://github.com/Slimefun/Addon-Template

main: me.CHANGEME.slimefunaddon.SlimefunAddon
depend: [Slimefun]

api-version: 1.14
  1. name 设置为你的项目名。
  2. author 设置为你的名字。
  3. description 中简单介绍一下你的插件。
  4. 设置你项目的主页 website,你可以移除这一行,或者填写项目的 GitHub/Spigot 页面地址。

重要的一步,将 main 改为以下内容:
main: 包名 + . + 项目名(全部小写) + . + 项目名

这一步可能会让你摸不着头脑,所以我们提供了一个例子:

包名:net.guizhanss
项目名:GuizhanCraft
main: net.guizhanss.guizhancraft.GuizhanCraft

你的 plugin.yml 现在应该看起来像这样:

name: GuizhanCraft
version: ${project.version}
author: ybw0014
description: 一个有用的附属
website: https://github.com/GuizhanCraft/GuizhanCraft

main: net.guizhanss.guizhancraft.GuizhanCraft
depend: [Slimefun]

api-version: 1.14

还有最后一步,这一部分就完成了。

你的代码包

我们将开始接触一些代码文件。
我们还没有开始真正的写代码,但是我们仍然需要对代码包进行配置,来匹配之前作出的更改。

打开目录 src/main/java,你应该看到一个像这样的包:me.CHANGEME.slimefunaddon
重命名这个包为:包名 + . + 项目名 (全部小写)。
如果按照之前的例子来说,就是 net.guizhanss.guizhancraft

打开这个包,你可以看到 SlimefunAddon.java 文件。将这个文件重命名为 项目名.java(记得保留后缀)。
现在这个文件名应该看起来像这样:GuizhanCraft.java

如果你设置好了 Git 仓库,那么你应该可以提交(commit)并推送(push)你的修改到 GitHub 仓库了。
网上有非常多的教程。你应该经常提交并推送你的更改,这样你本地的进度能够与 GitHub 仓库同步。这也能方便其他人参与到你的项目中。

一切就绪!你已经完成附属的配置。

5. 锁定你的依赖版本

我们模版的 pom.xml已经锁定了 Slimefun 依赖项的版本,你可以选择跳过该部分,或阅读官方文档