欢迎来到Minecraft插件百科!
对百科编辑一脸懵逼?
帮助:快速入门
带您快速熟悉百科编辑!
因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
查看“Paper/Paper 项目的搭建”的源代码
←
Paper/Paper 项目的搭建
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于这些用户组的用户执行:
用户
、
自动确认用户
、
巡查者
您可以查看和复制此页面的源代码。
<blockquote>本文的图片都是由译者提供的。供新手开发者找到文章提到的选项。 </blockquote> 由于Paper团队主要使用 [https://www.jetbrains.com/idea/ IntelliJ IDEA] 进行开发,所以本指南将以该IDE作为重点。<br /> 不过,下文应当也适用于其它IDE,仅需针对性的作一些微小的修改即可。 Paper 团队使用 [https://gradle.org/ Gradle] 作为 Paper 等项目的构建工具,其插件开发工具链使用 Gradle 对项目进行依赖管理。 在经过修改后,下文代码也将适用于其它构建工具,例如Maven。不过本文所提供的代码将只涉及Gradle。 阅读[https://docs.gradle.org/current/userguide/migrating_from_maven.html 此文档]学习如何从 Maven 迁移到Gradle。 === 创建新项目 === 打开你的 IDE 然后点击创建新项目的按钮。<br /> [[File:https://s1.ax1x.com/2022/10/05/xlD8wq.png|xlD8wq.png]] 在 Intellij 中,你需要选择你想要创建的项目类型 —— 首先选中 <code>New Project</code>,然后选择 <code>Gradle - Kotlin DSL</code> 后单击 <code>Create</code>。 [[File:https://s1.ax1x.com/2022/10/05/xlDYkV.png|thumb|none|alt=xlDYkV.png|xlDYkV.png]] 接着,IDE 将自动为你打开可用于管理项目依赖的 <code>build.gradle.kts</code> 文件。 <span id="将-paper-作为依赖项添加"></span> === 将 Paper 作为依赖项添加 === 要将 Paper 作为插件项目的一个依赖项,你需要将 Paper 仓库 ( <code>repository</code> ) 和 Paper 依赖 ( <code>dependency</code> ) 添加到你的 <code>build.gradle.kts</code> 文件中。 <syntaxhighlight lang="kotlin">repositories { mavenCentral() maven("https://repo.papermc.io/repository/maven-public/") } dependencies { compileOnly("io.papermc.paper:paper-api:1.19.2-R0.1-SNAPSHOT") } java { toolchain.languageVersion.set(JavaLanguageVersion.of(17)) } </syntaxhighlight> <span id="创建-src-目录"></span> === 创建 <code>src</code> 目录 === <blockquote>'''跳过'''<br /> 如果 IDE 已经为你的项目自动创建 <code>src</code> 目录,你就可以跳过这一步了。 </blockquote> 要创建 <code>src</code> 目录,你需要新建一个名为 <code>src</code> 的文件夹,然后在里面创建子目录,叫做 <code>main</code>。<br /> 接下来,在<code>main</code>之中创建两个文件夹,分别命名为 <code>java</code> 和 <code>resources</code>。 该文件夹的目录结构形如下: <pre>... example-plugin ├── build.gradle.kts ├── settings.gradle.kts └── src └── main ├── java └── resources ... </pre> <span id="创建-java-目录"></span> === 创建 <code>java</code> 目录 === Java 源代码存放在 <code>java</code> 目录中。你必须先创建一些包来管理你的 Java 代码。 拿下面这个结构举例,我们创建了一个三层的包并将其命名为 <code>io.papermc.testplugin</code>。而在包中有一个<code>ExamplePlugin</code> 类 ( <code>class</code> )。 <pre>... example-plugin ├── build.gradle.kts ├── settings.gradle.kts └── src └── main ├── java │ └── io │ └── papermc │ └── testplugin │ └── ExamplePlugin.java └── resources ... </pre> === 包 === 可以看到,<code>ExamplePlugin</code> 类在 <code>io.papermc.testplugin</code> 包中。<br /> 包用于管理代码。本质上,包就是个文件夹。在 Java 中,我们用包来管理一组相互间有一定关联的类。<br /> 如果你想要了解更多关于包的信息,你可以在 Oracle 的指南中[https://docs.oracle.com/javase/tutorial/java/package/packages.html 查看]。 要为你的包[https://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html 命名],你需要将域名颠倒顺序排列。比如有一个叫做 <code>papermc.io</code>的域名,你的包就应该命名为 <code>io.papermc</code>。<br /> 如果你还没有一个域名,你可以将你的 GitHub 用户名作为包名(格式大概是:io.github.用户名)。<br /> 若你的名字叫做 Linus Torvalds,你的包应该是 <code>io.github.torvalds</code>。 跟随域名的应该是你的项目名。<br /> 比如,你有一个的工程叫做 <code>ExamplePlugin</code>,你的包应该是<code>io.github.torvalds.exampleplugin</code>。<br /> 你的每个插件都会有一个独一无二的包名。 === 主类 === 主类是你的插件中所有代码执行的起点,是唯一一个继承 <code>JavaPlugin</code> 的类。<br /> 下面是一个 <code>ExamplePlugin</code> 类的示例: <syntaxhighlight lang="java">package io.papermc.testplugin; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.plugin.java.JavaPlugin; public class ExamplePlugin extends JavaPlugin implements Listener { @Override public void onEnable() { Bukkit.getPluginManager().registerEvents(this, this); } @EventHandler public void onPlayerJoin(PlayerJoinEvent event) { event.getPlayer().sendMessage(Component.text("Hello, " + event.getPlayer().getName() + "!")); } } </syntaxhighlight> <span id="创建-resources-目录"></span> === 创建 <code>resources</code> 目录 === <code>resources</code> 文件夹是在你的插件中存放 <code>plugin.yml</code> 的地方。在[https://docs.poikcue.com/#/PaperMC/dev/getting-start/plugin-yml 这里]了解更多关于plugin.yml的信息。 === 最后 === 现在,你就有一个将 Paper 作为依赖的插件项目啦!<br /> 接下来,编译你的插件,然后在 Paper 服务器上运行插件,就大功告成了。 <div class="tip"> 如果你想要精简测试插件的流程,你可以使用 [https://github.com/jpenilla/run-paper Run-Paper] Gradle task。<br /> 它将帮你自动下载一个 Paper 服务端并运行,以便测试你的插件。 </div> <blockquote>'''提示'''<br /> 如果你正在使用 IntelliJ,你可以使用 Gradle 图形界面中的 <code>Build</code> 菜单来编译你的插件 - 它应该位于你的 IDE 的右上角。<br /> 编译成功后输出的 jar 文件应该存放在 <code>build/libs</code> 文件夹中。<br /> </blockquote>
返回
Paper/Paper 项目的搭建
。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
编辑相关
百科公告
编辑帮助
互助客栈
贡献分数
测试沙盒
发布条目
插件分类
管理
安全
聊天
编程
经济
修正
娱乐
综合
信息
机械
角色
传送
网页
整地
创世
付费
其它
工具
链入页面
相关更改
特殊页面
页面信息
相关网站
MCMOD百科
Minecraft中文百科
Minecraft纪念论坛
Minecraft百度贴吧
虚无世界Wiki