[精讚] [會員登入]
631

【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

你可能感興趣的文章

【教程】[HTML](進階版)如何在手機上編輯電子書(epub)預覽介面 可能會有人認為電子書(epub)只能用電腦來開啟、編輯,其實不是的,手機也可以編輯喔!

【SeaChest & Synology】512e(Advanced Format / AF) 轉換至 4Kn 好不容易入手了一顆硬碟,但是卻無法使用,除了賣掉還有更好的方法嗎?

【Vim】解決貼上文字時出現過多空格的問題 換了新系統,有時候就算重裝軟體並且複製了設定檔也還是會出現非常奇怪的現象

【JDA/discord bot】刪除事件或slash(斜槓)指令的reply訊息 如何正確的等待 Async 的結束,在進行接下來的刪除訊息動作

【Firefox \ Maven】[Headless](Linux) 如何使用Maven打包並驅動Firefox 有時候我們需要取得渲染後的網頁,當然是直接呼叫瀏覽器出來用啦

【Wickct】(link) <a> 如何新增超連結 簡單來說有兩種方式,小編個人比較偏好 的方法

我有話要說

>>

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

訪客留言

[無留言]

隨機好文

【手遊介紹】小品手遊─寶箱是我的!(SUMMONER'S GREED) 輕鬆無腦的塔防遊戲,殺時間本小編推薦的遊戲之一

高捷少女:小穹與果仁巧克力㊤ 阿敏突然輕笑一聲,從櫃臺拿來一個塑膠餐盒,打開給大家看。「這是小穹烤的餅乾,妳們吃吃看就知道她為什麼不想講了。」小穹變得緊張起來。「阿敏,妳怎麼還留著呀?」艾米莉亞、婕兒與耐耐各自拿了一塊,把夾著奶油

婕兒──她的青春② 艾米直搖頭。「我真不敢相信,小穹妳都二十幾歲了,為什麼能想出這種故事呀?」「婕兒也是二十幾歲啊,妳想想她現在是什麼樣子?」小穹不滿地指向火車的方向。

【專輯介紹】蓮台野夜行 ~ Ghostly Field Club,れんだいのやこう 就讓我們隨著音樂跟著秘封俱樂部一起探詢那不可思議的未知和神秘,若處理不好,說不定會招來奇怪的靈呦(・ω<)☆

艾米莉亞和高捷戀旅② 七點三十五分了。 「快到粉絲團!快!」小穹慌張地說,婕兒、耐耐也湊向手機。雖然她們沒有報名,不過也希望亦晨參賽,不免著急起來。 「亦晨?妳的報名序號是多少?」艾米快速滑動手機。合格的參賽者姓名和序號都