本站为非官方 Pylon 文档站,大量内容均为 AI 生成·前往官方文档站● ● ●This is an unofficial Pylon documentation site, most content is AI-generated·Visit Official Docs● ● ●中文开发者交流·加入 QQ 群● ● ●本站为非官方 Pylon 文档站,大量内容均为 AI 生成·前往官方文档站● ● ●This is an unofficial Pylon documentation site, most content is AI-generated·Visit Official Docs● ● ●中文开发者交流·加入 QQ 群● ● ●
Pylon 中文文档
创建附属

前言与环境

介绍 Rebar 附属组件开发的基础知识。

最后更新时间

目前不支持 Rebar 附属组件开发。Rebar 正在快速变化,下一个 Rebar 版本发布时,你的附属组件可能会以可怕的方式崩溃。你仍然可以制作附属组件,但要注意你可能需要做出重大更改才能保持更新。

前言

所以,你想写一个 Rebar 附属?这套教程就是给你写的。不过你还是要懂一些基本的编程——如果你连 IDE、编译器都没用过,或者没写过 for 循环,跟教程可能会有点吃力。

开始之前先说几件事...

前置条件

我们假设:

  • 你了解 Java 编程的基础知识。
  • 你有 GitHub 账号,能在电脑上用 git——git 新手的话,推荐用 Github Desktop
  • 装好了 IntelliJ 并且会用。

并非必须拥有插件开发经验,但如果有的话会很有帮助!

Rebar 与 Pylon 的区别

开始前务必搞清楚 Rebar 和 Pylon 的区别。Rebar 是一个工具库,提供创建自定义方块、实体等的方法。Pylon 则是一个附属,提供了一套"基础"内容。

你的附属组件是否需要 Pylon 完全由你决定。附属组件模板默认包含 Pylon 作为依赖,但这可以轻松更改。

关于 Kotlin 的说明

虽然你可以纯用 Java 写附属,但有经验的 Java 程序员可能会对 Kotlin 感兴趣。它是 Java 的替代方案,用起来更顺手(尤其是语法!),还有一些 Java 没有的好用功能。Rebar 本身就是用 Kotlin 写的。

“我卡住了,救命!”

  1. 如果有错误信息,请仔细阅读它。
  2. 通过 Google 搜索问题(对于 Paper/Rebar/Pylon 开发,LLM 往往非常不可靠)。
  3. 如果存在相关教程,请重新阅读一下。
  4. 如果存在相关的文档,请查看。
  5. 加入 Pylon Discord,如果可能的话,使用搜索栏搜索与你问题相关的关键词,看看之前是否有人问过。
  6. 在 Pylon Discord 上寻求帮助。

现在让我们开始吧!


环境搭建

从模板创建附属组件仓库

Rebar 有一个附属组件模板,写附属需要的东西都在里面了。在模板仓库页面上点 Use this template 创建你自己的仓库,然后克隆下来

接下来,在 IntelliJ 中打开你的仓库。

IntelliJ 导入项目可能需要几分钟。

IntelliJ 正在导入附属组件模板

模板里有什么?

该模板用 Gradle 构建。项目根目录下有 gradlewgradlew.bat,这是 Gradle 包装器,用 IntelliJ 的话不用管它们。还有 build.gradle.kts,告诉 Gradle 怎么构建你的项目。

build.gradle.ktsgradle.properties 存放项目的基本信息:名称、版本、Rebar 版本、主类和组名。打开这两个文件把信息改成你自己的。如果你对"主类"和"组名"感到困惑,这个链接可能会有所帮助

模板中已经有一个示例方块和一个示例物品,还有主附属组件类 ExampleAddon.java

这节教程我们从头加一个新物品。

运行测试服务器

附属组件模板自带 "run server" 任务,可以直接在 IntelliJ 里跑测试服务器。打开 Gradle 面板,找到 runServer 双击就行。这会启动一个新服务器,并在项目根目录下生成一个 run 文件夹存放服务器数据。(不用 IntelliJ 的话,直接跑 ./gradlew runServer)你可以随意改这个服务器,加插件、改配置都行。

运行测试服务器

你应该会看到一个弹出控制台显示服务器输出。下载服务器可执行文件大概需要一两分钟。初次运行会启动失败,因为你需要同意 EULA。进刚生成的 run 文件夹,打开 eula.txt 同意一下协议,然后重新跑 runServer 任务。

要关闭服务器,请在控制台输入 stop 或在游戏内使用 /stop

别点 IntelliJ 的停止按钮。它不会正常关服务器,然后你就杀不掉那个进程了。服务器会变成不死之身。整个现实都会被吞噬。没​̷̧̡͙̓̑͠有​̛̤͎̒̈̓͢什​̴̰̼̑̀̎͟么​̥͎̜̲͂͘͜是​̧͇̟̾́̔͝安​̸̵̟̰̐̒͢全​̢͇̪̞̃̎͜的​̶̳̬̋͂́͡。​͇̜̠͉̉͟͠你​̞͔̩̲̓̽́们​͚̲̰̖̳̅́都​̢̛̥̰̫̌̒将​̨̳̟̈̽̒̏被​͇̦̅̏̋̃̕全​̦̣̖̳̼̏̅能​̧̪̤̙̯̉̒的​̘̱͍̆̅̉͞ ​̡̭̳͇̗̗͝J​̸̤̥̊̍͞͡V​̧̩͈̗̟̅̑M​̶͕̙̟̼͈̓ ​̷̷̩̌̉̆͡彻​̢̛̙̹̊̚͟底​̪̓̌͂̒̍͝摧​̥̳̜̬̆̇̽毁​̫̩̌.̯̯̣。

服务器启动后,用 localhost:25565 连接。记得在控制台输入 op <你的用户名> 给自己管理员权限。

默认情况下,附属组件模板包含一个示例物品和一个示例方块。尝试使用 /rb give <用户> exampleaddon:example_item 来获得示例物品。

目录