Skip to content

Latest commit

 

History

History
439 lines (273 loc) · 12.1 KB

如何搭建环境.md

File metadata and controls

439 lines (273 loc) · 12.1 KB

前言 - 如何搭建环境

本小节目录:


参与编写者:MagicLu550

后期修订:愉悦师柑也

本版本可能为非正式版本,但不影响阅读,请您悉知。

本小节建议学习时间:40 分钟;

学习要点: 学会使用IDEA搭建Maven环境和Nukkit开发环境,并学习调试Nukkit项目;

一、环境搭建

搭建环境是我们学习Nukkit的第一步。虽然安装IDE不是必要的一步,但这是我们能以便捷的方式进行开发的第一步。

  1. 首先上 IDEA官网 下载我们所需要的版本,我们一般选择免费的Community版本,因为它已经符合我们的需求了。作者这里使用的是Ultimate版本。 1-01

  2. 打开IDEA后,我们这里使用 Maven 项目进行构建。这里使用 JDK1.8 ,只要是图中这样的就可以了。 1-02

3.输入 groupIdartifactId (这些是需要你来写的,支持自定义),并且创建项目后,我们会进入到下图的界面。图中的 artifactIdMyFirstPlugin. 1-03

关于groupId为何物,Snake1999做出了非常详细的解释(转):
这里有必要做一些详细说明。
GroupId 经常也是Java项目的包名。Java项目的包命名规则有这样的约定:
“以网站倒着写.项目名字” 或者 “网站倒着写.项目名字.模块名字” 为结构。
必须以小写字母开头,
必须与别的Java包相区别。
Nukkit内核的所有包都是遵循这个规定的,
例如Nukkit的网站是nukkit.cn,所以里面包含所有方块(block)的包的包名应该是:
cn.nukkit.block

各位在编写Nukkit插件的时候,需要编写一个独特的、和他人的项目不一样的包名,以便与他人开发的插件相区别。
比如译者的网站是snake1999.com,如果译者编写了一个叫ExamplePlugin的Nukkit插件,就可以放在包名为com.snake1999.exampleplugin的包内。以下包名的结构都是可以使用的:
com.snake1999.exampleplugin
net.mcbbs.tutorialplugin
ru.nukkit.nkexample
me.fromgate.firstplugin
而以下的包名都是不被推荐使用的:
main.java.plugin
TestPlugin

另外,开发Nukkit插件,我们规定不能把插件的任何部分存放在cn.nukkit包下,否则后果自负。

关于主类的名称,只要能和别人的主类区分开就可以了,但是不推荐使用MainClass之类的名称。
  1. 在pom.xml中加入以下标签可以导入
<repositories>
   <repository>
            <id>opencollab-repo-release</id>
            <url>https://repo.opencollab.dev/maven-releases/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>opencollab-repo-snapshot</id>
            <url>https://repo.opencollab.dev/maven-snapshots/</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
</repositories>
    
<dependencies>
    <dependency>
        <groupId>cn.nukkit</groupId>
        <artifactId>nukkit</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
</dependencies>

如图所示 1-04

  1. 接下来在程序上可以进行开发了

二、调试插件

其实调试插件很简单,这里我们需要以下四个过程:

编译,打包 → 部署 → 运行加载 → 调试

  1. 编译打包很简单。我们使用IDE可以轻松实现Maven打包。

PS: 在打包之前,建议在pom.xml里加上以下代码,可以解决IDEA编译器版本无效等一系列问题。

    <build>
        <plugins>
           
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.2</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>

        </plugins>
    </build>

本项目所采用的JDK版本为JDK8。如果您使用的不是JDK8,则需要修改一些地方

JDK9

    <build>
        <plugins>
           
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.2</version>
                <configuration>
                    <source>1.9</source>
                    <target>1.9</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>

        </plugins>
    </build>

JDK10

    <build>
        <plugins>
            
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.2</version>
                <configuration>
                    <source>1.10</source>
                    <target>1.10</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>

        </plugins>
    </build>

以此类推....如果行不通,可以尝试可以删掉前面的“1.”

比如,JDK11就是

<source>11</source>
<target>11</target>

如图所示,添加这些标签: 1-08

如图中按钮所示: 1-06

之后我们找到其中的package,点击即可。 1-07

如图所示,出现 "BUILD SUCCESS" ,编译就大功告成了。 1-09

一般来讲,目标jar包会产生在 target 文件夹中。 1-10

  1. 部署

之后把打包好的合法插件丢入plugins文件里就完美运行了,这里将不做图示 这就是插件部署的过程。

  1. 运行加载

如果出现了加载$(您的插件名字)成功之类的字样,说明您的插件成功了。

  1. 之后进入游戏测试您的插件是否符合您的需求,根据您插件出现的各种问题进行再次调试、修改、打包等。

三、本地的导入和打包

鉴于很多人的需要(因为NukkitX的Maven服务器太卡了),这里我写一下本地导入jar包的方法。

  1. 导入包

其实要简单很多,您需要上 NukkitX的Jenkins 下载一个 Nukkit 的jar包,

然后将您的jar包放到您项目根目录的libs文件夹下(这里您需要自己创建)

1-11

我们再把它导入我们的项目里,

这里选择 libraries:

1-12

选择Java,这样可以直接导入本地jar包。

1-13

之后我们选择下载好的Nukkit的jar包,

1-14

导入完毕,

1-15

  1. 构建jar包

再然后,我们在libs下创建一个plugins文件夹(先前的点击下面的OK保存一下),

1-16

打开我们的这个窗口,找到artifacts,之后点击 '+' ,找到 JAR,

1-17

创建之后,是这样子(图中已经说明了compile output)。

1-18

然后如图中所示,把 plugin.yml 也添加到我们的jar包里

1-19

1-20

1-21

之后我们再修改打包目标的路径,将路径指向我们jar包的根目录

1-24

1-25

1-26

记得设置上这个:

1-34

保存。

1-27

  1. 设置工作文件夹

最后一步,设置我们的运行环境。如图所示,点击Add Configuration

1-28

接着,我们分别设置jar包和工作文件夹

1-29

1-30

1-31

1-32

最后优雅的点击保存。

1-33

  1. 运行

我们在这儿先写个主类

1-35

再点击 Build,打包插件

1-36

之后我们把插件放进服务器中跑一遍,

1-37

成功√

1-38

零、IDEA的汉化

感谢 Testfor , Itname 等人的帮助,我们找到了 IDEA 的汉化包,点击这里下载

上面的汉化包适用于2019.3,

截至2021年10月28日,IDEA Community 已经更新至2021.2.3,

且官方已支持使用插件进行页面汉化。

愉悦师柑也CLion 2021.2.2 为例,您可以直接前往 Settings - Plugins 搜素 Chinese 并安装。

1-39

NTR了,但没有完全NTR

下一节

参考文献