• 欢迎来到Minecraft插件百科!
  • 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
  • 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289

检查单独更改

滥用过滤器导航主页 | 最近过滤器更改 | 检查过去的编辑 | 滥用日志
跳转至: 导航搜索

本页面允许您检查防滥用过滤器根据某次单独更改所生成的变量,并使用过滤器进行测试。

根据本次更改生成的变量

变量
编辑是否被标记为小编辑 (minor_edit)
用户账户名称 (user_name)
Poikcue
用户所在群组(包括隐藏群组) (user_groups)
* user
页面编号 (article_articleid)
0
页面名字空间 (article_namespace)
0
页面标题(不含名字空间) (article_text)
Paper/Paper 项目的搭建
完整页面标题 (article_prefixedtext)
Paper/Paper 项目的搭建
最后十位对该页面贡献的用户 (article_recent_contributors)
操作 (action)
edit
编辑摘要/原因 (summary)
旧的内容模型 (old_content_model)
新的内容模型 (new_content_model)
wikitext
编辑前的旧页面,wiki代码格式 (old_wikitext)
编辑后的新页面,wiki代码格式 (new_wikitext)
<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>
编辑产生的差异 (edit_diff)
@@ -1,1 +1,137 @@ +<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>
新页面大小 (new_size)
6434
编辑增加的行 (added_lines)
<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>
编辑后的新页面,已解析为HTML源码 (new_html)
<div class="mw-parser-output"><blockquote><p>本文的图片都是由译者提供的。供新手开发者找到文章提到的选项。 </p></blockquote> <p>由于Paper团队主要使用 <a class="external text" href="https://www.jetbrains.com/idea/">IntelliJ IDEA</a> 进行开发,所以本指南将以该IDE作为重点。<br /> 不过,下文应当也适用于其它IDE,仅需针对性的作一些微小的修改即可。 </p><p>Paper 团队使用 <a class="external text" href="https://gradle.org/">Gradle</a> 作为 Paper 等项目的构建工具,其插件开发工具链使用 Gradle 对项目进行依赖管理。 在经过修改后,下文代码也将适用于其它构建工具,例如Maven。不过本文所提供的代码将只涉及Gradle。 阅读<a class="external text" href="https://docs.gradle.org/current/userguide/migrating_from_maven.html">此文档</a>学习如何从 Maven 迁移到Gradle。 </p> <div id="toc" class="toc"><div class="toctitle" lang="zh-CN" dir="ltr"><h2>目录</h2></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#.E5.88.9B.E5.BB.BA.E6.96.B0.E9.A1.B9.E7.9B.AE"><span class="tocnumber">1</span> <span class="toctext">创建新项目</span></a></li> <li class="toclevel-1 tocsection-2"><a href="#.E5.B0.86_Paper_.E4.BD.9C.E4.B8.BA.E4.BE.9D.E8.B5.96.E9.A1.B9.E6.B7.BB.E5.8A.A0"><span class="tocnumber">2</span> <span class="toctext">将 Paper 作为依赖项添加</span></a></li> <li class="toclevel-1 tocsection-3"><a href="#.E5.88.9B.E5.BB.BA_src_.E7.9B.AE.E5.BD.95"><span class="tocnumber">3</span> <span class="toctext">创建 src 目录</span></a></li> <li class="toclevel-1 tocsection-4"><a href="#.E5.88.9B.E5.BB.BA_java_.E7.9B.AE.E5.BD.95"><span class="tocnumber">4</span> <span class="toctext">创建 java 目录</span></a></li> <li class="toclevel-1 tocsection-5"><a href="#.E5.8C.85"><span class="tocnumber">5</span> <span class="toctext">包</span></a></li> <li class="toclevel-1 tocsection-6"><a href="#.E4.B8.BB.E7.B1.BB"><span class="tocnumber">6</span> <span class="toctext">主类</span></a></li> <li class="toclevel-1 tocsection-7"><a href="#.E5.88.9B.E5.BB.BA_resources_.E7.9B.AE.E5.BD.95"><span class="tocnumber">7</span> <span class="toctext">创建 resources 目录</span></a></li> <li class="toclevel-1 tocsection-8"><a href="#.E6.9C.80.E5.90.8E"><span class="tocnumber">8</span> <span class="toctext">最后</span></a></li> </ul> </div> <h3><span id="创建新项目"></span><span class="mw-headline" id=".E5.88.9B.E5.BB.BA.E6.96.B0.E9.A1.B9.E7.9B.AE">创建新项目</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Paper/Paper_%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%90%AD%E5%BB%BA&amp;action=edit&amp;section=1" title="编辑小节:创建新项目">编辑</a><span class="mw-editsection-bracket">]</span></span></h3> <p>打开你的 IDE 然后点击创建新项目的按钮。<br /> <a href="/index.php?title=%E7%89%B9%E6%AE%8A:%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6&amp;wpDestFile=Https://s1.ax1x.com/2022/10/05/xlD8wq.png" class="new" title="文件:Https://s1.ax1x.com/2022/10/05/xlD8wq.png">xlD8wq.png</a> 在 Intellij 中,你需要选择你想要创建的项目类型 —— 首先选中 <code>New Project</code>,然后选择 <code>Gradle - Kotlin DSL</code> 后单击 <code>Create</code>。 </p> <div class="thumb tnone"><div class="thumbinner" style="width:182px;"><a href="/index.php?title=%E7%89%B9%E6%AE%8A:%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6&amp;wpDestFile=Https://s1.ax1x.com/2022/10/05/xlDYkV.png" class="new" title="文件:Https://s1.ax1x.com/2022/10/05/xlDYkV.png">文件:Https://s1.ax1x.com/2022/10/05/xlDYkV.png</a> <div class="thumbcaption">xlDYkV.png</div></div></div> <p>接着,IDE 将自动为你打开可用于管理项目依赖的 <code>build.gradle.kts</code> 文件。 </p><p><span id=".E5.B0.86-paper-.E4.BD.9C.E4.B8.BA.E4.BE.9D.E8.B5.96.E9.A1.B9.E6.B7.BB.E5.8A.A0"></span> </p> <h3><span id="将_Paper_作为依赖项添加"></span><span class="mw-headline" id=".E5.B0.86_Paper_.E4.BD.9C.E4.B8.BA.E4.BE.9D.E8.B5.96.E9.A1.B9.E6.B7.BB.E5.8A.A0">将 Paper 作为依赖项添加</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Paper/Paper_%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%90%AD%E5%BB%BA&amp;action=edit&amp;section=2" title="编辑小节:将 Paper 作为依赖项添加">编辑</a><span class="mw-editsection-bracket">]</span></span></h3> <p>要将 Paper 作为插件项目的一个依赖项,你需要将 Paper 仓库 ( <code>repository</code> ) 和 Paper 依赖 ( <code>dependency</code> ) 添加到你的 <code>build.gradle.kts</code> 文件中。 </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="n">repositories</span> <span class="p">{</span> <span class="n">mavenCentral</span><span class="p">()</span> <span class="n">maven</span><span class="p">(</span><span class="s">&quot;https://repo.papermc.io/repository/maven-public/&quot;</span><span class="p">)</span> <span class="p">}</span> <span class="n">dependencies</span> <span class="p">{</span> <span class="n">compileOnly</span><span class="p">(</span><span class="s">&quot;io.papermc.paper:paper-api:1.19.2-R0.1-SNAPSHOT&quot;</span><span class="p">)</span> <span class="p">}</span> <span class="n">java</span> <span class="p">{</span> <span class="n">toolchain</span><span class="p">.</span><span class="n">languageVersion</span><span class="p">.</span><span class="k">set</span><span class="p">(</span><span class="n">JavaLanguageVersion</span><span class="p">.</span><span class="n">of</span><span class="p">(</span><span class="m">17</span><span class="p">))</span> <span class="p">}</span> </pre></div> <p><span id=".E5.88.9B.E5.BB.BA-src-.E7.9B.AE.E5.BD.95"></span> </p> <h3><span id="创建_src_目录"></span><span class="mw-headline" id=".E5.88.9B.E5.BB.BA_src_.E7.9B.AE.E5.BD.95">创建 <code>src</code> 目录</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Paper/Paper_%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%90%AD%E5%BB%BA&amp;action=edit&amp;section=3" title="编辑小节:创建 src 目录">编辑</a><span class="mw-editsection-bracket">]</span></span></h3> <blockquote><p><b>跳过</b><br /> </p><p>如果 IDE 已经为你的项目自动创建 <code>src</code> 目录,你就可以跳过这一步了。 </p> </blockquote> <p>要创建 <code>src</code> 目录,你需要新建一个名为 <code>src</code> 的文件夹,然后在里面创建子目录,叫做 <code>main</code>。<br /> 接下来,在<code>main</code>之中创建两个文件夹,分别命名为 <code>java</code> 和 <code>resources</code>。 </p><p>该文件夹的目录结构形如下: </p> <pre>... example-plugin ├── build.gradle.kts ├── settings.gradle.kts └── src └── main ├── java └── resources ... </pre> <p><span id=".E5.88.9B.E5.BB.BA-java-.E7.9B.AE.E5.BD.95"></span> </p> <h3><span id="创建_java_目录"></span><span class="mw-headline" id=".E5.88.9B.E5.BB.BA_java_.E7.9B.AE.E5.BD.95">创建 <code>java</code> 目录</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Paper/Paper_%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%90%AD%E5%BB%BA&amp;action=edit&amp;section=4" title="编辑小节:创建 java 目录">编辑</a><span class="mw-editsection-bracket">]</span></span></h3> <p>Java 源代码存放在 <code>java</code> 目录中。你必须先创建一些包来管理你的 Java 代码。 拿下面这个结构举例,我们创建了一个三层的包并将其命名为 <code>io.papermc.testplugin</code>。而在包中有一个<code>ExamplePlugin</code> 类 ( <code>class</code> )。 </p> <pre>... example-plugin ├── build.gradle.kts ├── settings.gradle.kts └── src └── main ├── java │ └── io │ └── papermc │ └── testplugin │ └── ExamplePlugin.java └── resources ... </pre> <h3><span id="包"></span><span class="mw-headline" id=".E5.8C.85">包</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Paper/Paper_%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%90%AD%E5%BB%BA&amp;action=edit&amp;section=5" title="编辑小节:包">编辑</a><span class="mw-editsection-bracket">]</span></span></h3> <p>可以看到,<code>ExamplePlugin</code> 类在 <code>io.papermc.testplugin</code> 包中。<br /> 包用于管理代码。本质上,包就是个文件夹。在 Java 中,我们用包来管理一组相互间有一定关联的类。<br /> 如果你想要了解更多关于包的信息,你可以在 Oracle 的指南中<a class="external text" href="https://docs.oracle.com/javase/tutorial/java/package/packages.html">查看</a>。 </p><p>要为你的包<a class="external text" href="https://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html">命名</a>,你需要将域名颠倒顺序排列。比如有一个叫做 <code>papermc.io</code>的域名,你的包就应该命名为 <code>io.papermc</code>。<br /> 如果你还没有一个域名,你可以将你的 GitHub 用户名作为包名(格式大概是:io.github.用户名)。<br /> 若你的名字叫做 Linus Torvalds,你的包应该是 <code>io.github.torvalds</code>。 </p><p>跟随域名的应该是你的项目名。<br /> 比如,你有一个的工程叫做 <code>ExamplePlugin</code>,你的包应该是<code>io.github.torvalds.exampleplugin</code>。<br /> 你的每个插件都会有一个独一无二的包名。 </p> <h3><span id="主类"></span><span class="mw-headline" id=".E4.B8.BB.E7.B1.BB">主类</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Paper/Paper_%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%90%AD%E5%BB%BA&amp;action=edit&amp;section=6" title="编辑小节:主类">编辑</a><span class="mw-editsection-bracket">]</span></span></h3> <p>主类是你的插件中所有代码执行的起点,是唯一一个继承 <code>JavaPlugin</code> 的类。<br /> 下面是一个 <code>ExamplePlugin</code> 类的示例: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="kn">package</span> <span class="nn">io.papermc.testplugin</span><span class="o">;</span> <span class="kn">import</span> <span class="nn">net.kyori.adventure.text.Component</span><span class="o">;</span> <span class="kn">import</span> <span class="nn">org.bukkit.Bukkit</span><span class="o">;</span> <span class="kn">import</span> <span class="nn">org.bukkit.event.EventHandler</span><span class="o">;</span> <span class="kn">import</span> <span class="nn">org.bukkit.event.Listener</span><span class="o">;</span> <span class="kn">import</span> <span class="nn">org.bukkit.event.player.PlayerJoinEvent</span><span class="o">;</span> <span class="kn">import</span> <span class="nn">org.bukkit.plugin.java.JavaPlugin</span><span class="o">;</span> <span class="kd">public</span> <span class="kd">class</span> <span class="nc">ExamplePlugin</span> <span class="kd">extends</span> <span class="n">JavaPlugin</span> <span class="kd">implements</span> <span class="n">Listener</span> <span class="o">{</span> <span class="nd">@Override</span> <span class="kd">public</span> <span class="kt">void</span> <span class="nf">onEnable</span><span class="o">()</span> <span class="o">{</span> <span class="n">Bukkit</span><span class="o">.</span><span class="na">getPluginManager</span><span class="o">().</span><span class="na">registerEvents</span><span class="o">(</span><span class="k">this</span><span class="o">,</span> <span class="k">this</span><span class="o">);</span> <span class="o">}</span> <span class="nd">@EventHandler</span> <span class="kd">public</span> <span class="kt">void</span> <span class="nf">onPlayerJoin</span><span class="o">(</span><span class="n">PlayerJoinEvent</span> <span class="n">event</span><span class="o">)</span> <span class="o">{</span> <span class="n">event</span><span class="o">.</span><span class="na">getPlayer</span><span class="o">().</span><span class="na">sendMessage</span><span class="o">(</span><span class="n">Component</span><span class="o">.</span><span class="na">text</span><span class="o">(</span><span class="s">&quot;Hello, &quot;</span> <span class="o">+</span> <span class="n">event</span><span class="o">.</span><span class="na">getPlayer</span><span class="o">().</span><span class="na">getName</span><span class="o">()</span> <span class="o">+</span> <span class="s">&quot;!&quot;</span><span class="o">));</span> <span class="o">}</span> <span class="o">}</span> </pre></div> <p><span id=".E5.88.9B.E5.BB.BA-resources-.E7.9B.AE.E5.BD.95"></span> </p> <h3><span id="创建_resources_目录"></span><span class="mw-headline" id=".E5.88.9B.E5.BB.BA_resources_.E7.9B.AE.E5.BD.95">创建 <code>resources</code> 目录</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Paper/Paper_%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%90%AD%E5%BB%BA&amp;action=edit&amp;section=7" title="编辑小节:创建 resources 目录">编辑</a><span class="mw-editsection-bracket">]</span></span></h3> <p><code>resources</code> 文件夹是在你的插件中存放 <code>plugin.yml</code> 的地方。在<a class="external text" href="https://docs.poikcue.com/#/PaperMC/dev/getting-start/plugin-yml">这里</a>了解更多关于plugin.yml的信息。 </p> <h3><span id="最后"></span><span class="mw-headline" id=".E6.9C.80.E5.90.8E">最后</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Paper/Paper_%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%90%AD%E5%BB%BA&amp;action=edit&amp;section=8" title="编辑小节:最后">编辑</a><span class="mw-editsection-bracket">]</span></span></h3> <p>现在,你就有一个将 Paper 作为依赖的插件项目啦!<br /> 接下来,编译你的插件,然后在 Paper 服务器上运行插件,就大功告成了。 </p> <div class="tip"> <p>如果你想要精简测试插件的流程,你可以使用 <a class="external text" href="https://github.com/jpenilla/run-paper">Run-Paper</a> Gradle task。<br /> 它将帮你自动下载一个 Paper 服务端并运行,以便测试你的插件。 </p><p><br /> </p> </div> <blockquote><p>提示<br /> </p><p>如果你正在使用 IntelliJ,你可以使用 Gradle 图形界面中的 <code>Build</code> 菜单来编译你的插件 - 它应该位于你的 IDE 的右上角。<br /> 编译成功后输出的 jar 文件应该存放在 <code>build/libs</code> 文件夹中。<br /> </p> </blockquote> <!-- NewPP limit report Cached time: 20221125141317 Cache expiry: 86400 Dynamic content: false CPU time usage: 0.028 seconds Real time usage: 10.353 seconds Preprocessor visited node count: 88/1000000 Preprocessor generated node count: 158/1000000 Post‐expand include size: 0/2097152 bytes Template argument size: 0/2097152 bytes Highest expansion depth: 2/40 Expensive parser function count: 0/100 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 4233/5000000 bytes --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 0.000 1 -total --> </div>
更改的Unix时间戳 (timestamp)
1669385584