基於maven建立第一個Bukkit plugin項目

環境準備:

首先確保已經配置好了JDK和Maven環境

根據模板建立項目:

進入一個準備好的目錄,在當前目錄下打開命令行並輸入下面的命令:

mvn archetype:generate -DgroupId=me.cmiao.mcplugin -DartifactId=TutorialMcPlugin -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart

之後會在當前目錄下以項目模板maven-archetype-quickstart建立項目,注意命令中的選項DgroupIdDartifactId確定了當前項目的座標,而DarchetypeGroupIdDarchetypeArtifactId則指定了模板項目的座標,命令執行過程中會從遠程倉庫下載依賴的模板。即使不指定這些選項也會在命令執行過程中提示用戶交互式的輸入。

編寫代碼:

刪除\src\main\java\me\cmiao\mcplugin中的App.java,並新建一個源文件TutorialMcPlugin.java,在其中寫入以下代碼:

package me.cmiao.mcplugin;  
import org.bukkit.plugin.java.JavaPlugin;

public class TutorialPlugin extends JavaPlugin{
	@Override
	public void onEnable() {
		getLogger().info("onEnable is called!");
	}
	@Override
	public void onDisable() {
		getLogger().info("onDisable is called!");
	}
}

TutorialPlugin繼承了JavaPlugin,是該插件的主類,重寫的兩個方法onEnableonDisable實現在插件被服務端加載和卸載時輸出信息。

之後在\src\main\resources目錄下添加plugin.yml文件,編寫內容如下:

name: TutorialPlugin
version: 1.0
main: me.cmiao.mcplugin.TutorialPlugin
author: caoxm-me

由於我們不適用測試代碼,所以刪除\src\test\java下面的測試類。

修改pom.xml:

該文件在項目的根目錄,在項目生成時被自動創建,這裏修改的主要是dependencies元素,用來引用Spigot API。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>me.cmiao.mcplugin</groupId>
  <artifactId>TutorialMcPlugin</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>TutorialMcPlugin</name>
  <url>http://maven.apache.org</url>
  <repositories>
    <!-- This adds the Spigot Maven repository to the build -->
    <repository>
        <id>spigot-repo</id>
        <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
    </repository>
  </repositories>

  <dependencies>
    <!--This adds the Spigot API artifact to the build -->
    <dependency>
           <groupId>org.spigotmc</groupId>
           <artifactId>spigot-api</artifactId>
           <version>1.15.1-R0.1-SNAPSHOT</version>
           <scope>provided</scope>
    </dependency>

    <!--This adds the Bukkit API artifact to the build -->
    <!-- Do not include this in the pom.xml file if the Spigot API is already added -->
    <dependency>
            <groupId>org.bukkit</groupId>
            <artifactId>bukkit</artifactId>
            <version>1.15.1-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
    </dependency>
  </dependencies>
</project>

編譯打包:

mvn compile
mvn package

成功後會在\target目錄下發現輸出的jar包,拖到服務端的plugins目錄下後,reload服務端後會看到下面的輸出信息:

發佈了24 篇原創文章 · 獲贊 39 · 訪問量 6211
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章