[精讚] [會員登入]
661

【Maven】如何開始撰寫 Minecraft PaperMC server插件

萬事起頭難,要開始寫一個插件最難的一步就是要怎麼開始寫

分享此文連結 //n.sfs.tw/15437

分享連結 【Maven】如何開始撰寫 Minecraft PaperMC server插件@小編過路君子
(文章歡迎轉載,務必尊重版權註明連結來源)
2021-11-22 00:40:53 最後編修
2021-10-19 09:04:59 By 過路君子
 

哈囉大家好,這裡是來寫網頁逃避現實的小編過路君子

目前在研讀上遇上了不小的問題,來寫個網頁轉換心情

 

 

通常如果各位想要和朋友一起遊玩同一個 minecraft世界的時候會怎麼做呢?交換地圖檔?用區域網路連線?亦或者是直接架設公開伺服器讓好友連線進來世界遊玩?

不管是那種方式,玩久了之後可能會想要自己寫一些好用的指令來用,所以先到網路上找支援差件的伺服器來開,好不容易架好了、也開好了。

結果當要開始寫的時候,跑到 PaperMC API 的下載頁面一看:

(所有圖片點擊都可以放大、變高清)

直接傻眼,到底什麼是 Maven?沒錯,小編的有個朋友就是這樣,後來就拿著這個網頁跑來找小編,小編就幫他架一架然後就直接跑起來了。

雖然他後來有稍微去看一下 Maven怎麼用,但後來還是纏著小編搞了好幾個小時才順利在終端機顯示出了「Hello World!」。

所以才撰寫了這篇,以後只要有人想寫插件卻卡在第一步小編就輕鬆了,直接丟這個頁面給他們看,完美!

 

那麼小編在開始之前就先來快速介紹什麼是 Maven。

Maven 是一種專案管理程式,其主要功能即為控管 Java程式專案,只需要在設定檔裡面寫入想要 import的 Jar檔資訊,Maven 就會自動連線到資料庫然後下載。

一來可以確保下載下來的 Jar檔品質,二來可以輕鬆的將 Jar檔資訊傳遞出去(很常引入一個 Jar檔,然後那個 Jar檔又引入數個 Jar檔,越引用越多...)。

 

那麼,Maven 極簡介就此為止,我們接下來就要正式進入如何開始一個 PaperMC API 的專案了。

跟以往相同,會附上 LinuxWindows兩種解法,然後會提供產生器快速完成某些步驟。

為了讓大部分的人能快速上手,所以小編會忽略超級大部份的細節,僅以可以讓人快速開始為解說目的。

 

照慣例小編手上沒有Mac,所以Mac使用者就……加油!

那放完環境一覽表就讓我們開始吧!

Java 版本: 16.0.1
Maven 版本:3.8.1
Minecraft 版本:1.17.1

 

Linux

因為 Liunx沒有一些圖形化軟體內建 Maven,所以在開始使用前請各位先自行去安裝 Maven,至於怎麼下載、安裝和執行,在 Maven官網都可以找到相關的方式。

至於各位要使用何種方式創建資料夾結構,都可以。

小編在這裡提供一種資料夾結構以及其相關檔案內容產生的 shell來供大家使用,依序執行下方的指令,全部執行完畢即可得到:

wget http://n.sfs.tw/uploads/content/21/211019085403/6d4dd9ae7d09c0c6af4ac43df7b580f4.zip
unzip 6d4dd9ae7d09c0c6af4ac43df7b580f4.zip
chmod 755 PaperMC-quickstart.sh
./PaperMC-quickstart.sh
cd PaperMC_quickstart
mvn package

在這裡 Java的版本小編並未選用最新的 Java17,而是採用了與 Minecraft執行環境相同的 Java16,所以如果在進行 Maven package的時候有報錯,請各位確認一下編譯的 JDK是否為 16。

另外,受限於這個網站所能上傳的檔案類型,小編僅能壓縮成 zip,無法打包成較為常見的 tar,還請各位見諒。

順利的話會顯示以下畫面:

接下來 cd target/ && ls 就可以看到多了一些資料夾以及最重要的 Jar檔

接著將這個 Jar檔 cp到你伺服器資料夾的 plugins資料夾裡面就可以了。

然後執行看看有沒有出現「Hello World」字樣。

那你說接下來要怎麼開始寫第一個差件指令?先回到 pom.xml所在的位置,然後打cd src/main/java/editor/passing/jinzan && ls

應該就可以看到一個「main.java」的檔案了,直接 vi打開,看到 main區塊,直接寫進去就好了;至於如何模組化以及多檔案合併,就不是本篇的重點了,所以小編也不再此贅述。

 

Windows

請各位先下載這個壓縮檔 PaperMC-quickstart.zip

下載完、解壓縮後應該能看到一個 PaperMC-quickstart.bat的檔案,雙擊執行,如果有跳出任何訊息選「是」即可。

看到上圖的畫面之後就可以隨便按一個按鍵將 cmd關閉囉。

順帶檢查一下在同一個目錄底下有沒有出現一個名為 PaperMC_quickstart的資料夾。

接下來就是重點了,如果各位有在電腦裡面安裝並設置好 Maven的環境變數。

那就直接 cd進 PaperMC_quickstart這個資料夾裡面然後下 mvn package然後就可以看到 Jar檔躺在 PaperMC_quickstart\target的資料夾裡面,然後丟進伺服器的 plugins啟動,完成。

那如果各位剛剛上面那兩段文字完全看不懂,沒關係,先去下載 IntelliJ IDEA Community

下載好之後,開啟,找到剛剛產生出來的資料夾,按「Open」→ 選擇「PaperMC_quickstart」資料夾 →「OK」導入。

點擊「Trust Project」。

這邊請確認目錄結構是否跟下圖的紅框內相同,如果一樣的話就可以準備來使用 Maven執行囉。

我們等等會使用 IntelliJ IDEA Community內建的 Maven功能來做打包(package)。

在我們一將那個資料夾導入 IntelliJ IDEA Community的時候,是沒有辦法做執行的。

因為 IntelliJ IDEA Community根本不知道要怎麼執行,所以我們接下來就是要設定以 Maven來做執行。

比對上下圖不同處,就是上圖的 1處由本來的未設定狀態變成了下圖紅框處,Maven的標誌跑出來了。

按照上圖的說明點擊了綠色小三角之後,正常會跳出下方一欄。

看到「BUILD SUCCESS」就代表我們所需要的 Jar檔案已經躺在 PaperMC_quickstart\target裡面等著我們去執行囉~

回到檔案總管,進到 PaperMC_quickstart資料夾後,點開 target資料夾,就可以看到可愛的 Jar檔躺在裡面了喔!

確認有出現一個名為「PaperMC-quickstart-7.39.1.jar」的檔案就可以將 IntelliJ IDEA Community關閉囉。

接下來直接將這個 Jar檔直接丟入伺服器開服資料夾的 plugins資料夾裡面。

緊接著執行相對應的 PaperMC伺服器開服 Jar檔,例如:「paper-1.17.1-336.jar」。

那接下來怎麼開始寫你差件的第一個指令?重新打開 IntelliJ IDEA Community,然後依照下圖找到 main.java,接下來就是各位大展身手的時候了吧。

 

 

 

後記

小編撰寫這篇的目的是要快速讓不熟的人可以撰寫一些簡單的小差件,小編所提供的這個結構為最簡單就可以執行的差件架構,不太適合大型差件的撰寫。

當然只要對整個目錄結構做小小的變化,就可以拿來構建大型專案了,具體要怎麼做,不是這篇文章的目的,所以小編在此就沒提了。

END

你可能感興趣的文章

【Maven】如何創建一個簡單可執行的JAR檔 滿重要的一個小功能,畢竟有時候是要傳遞的是JAR檔,而不是直接透過Maven直接部屬之類的

【Maven】[Wicket](Java) 如何部署Wicket到Wildfly內 Wicket 是一個 Java 下的套件,換言之,我們的網頁伺服器後端是由 Java 來撰寫的

【Wildfly/jBoss】[Linux] 如何從無到有建立Wildfly網頁伺服器 包含一切所需的指令

【JDA/discord bot】如何獲得訊息中的圖片和影片並儲存或轉傳 如何將訊息中的圖片或影片之類的多媒體提取出來之後,再進行相關的處理

【C++】SFML安裝於Microsoft Visual Studio 2019 此方法僅適用單個C++專案,因為一次就適用整台電腦的方式有人寫了,而且寫得非常不錯。

【Maven】如何開始撰寫 Minecraft PaperMC server插件 萬事起頭難,要開始寫一個插件最難的一步就是要怎麼開始寫

我有話要說

>>

限制:留言最高字數1000字。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

高捷少女:地下城的探險少女⑤ 小穹寫好後,耐耐看了一遍。「我想我應該辦得到。」她說完跪坐在地上,然後把古箏安放在大腿上,並將樂譜放在前面的地板。「要開始囉。」耐耐閉上眼睛,深呼吸一口氣,小穹等人在一旁看著她,心中暗自替她打氣。

高捷少女:耐耐的新年驚喜④ 「雖然夫人一直有在保養身體,可是年紀畢竟不小了,醫生曾經說過,不管是不是假性陣痛,一旦夫人有感覺了便立刻送到醫院。」管家爺爺說:「我們已經打電話給附近的大型醫院,救護車很快便會來到這裡。」「去看伯母吧

【數學】徐氏數學簡明講義(三) 第二章 直線與園 P2.1-17 Q26 26.三角形的兩邊分別在二直線 x-3y+10=0 , 2x-y-8=0 上,且知第三邊中點為(3 , 2),求第三邊所

【札記】在發文上遇到的問題 如果遇到問題,是選擇丟在一旁還是將其解決,又或者是看情況?

艾米莉亞和高捷戀旅④ 來到一號出口以後,艾米看到另外三位參賽者,她與心研便站到他們旁邊。   「這一站的競賽是『