🛠️委託大全

#前言

你好!我是MoTy,約2019年開始收受插件委託。我可以很直白地告訴你,委託內容的詳細與否,極大程度地影響插件成品與體驗。通常,委託內容的品質與委託者的開服、插件使用經驗有關,愈生疏,雙方溝通的時間就會更長,而有鑑於經驗往往需依靠時間來累積,因此我整理了一些委託內容的重點、知識與技巧。

此文章旨在提供完整、詳盡的委託流程、內容及其重點,供未來的委託者參考。

#相關連結

Discord: xMoTy

Github: 點我

SpigotMC: 點我

委託文件: 點我

#零、背景知識

  • NMS

"net.minecraft.server" 的首字母簡寫。為底層伺服器核心的邏輯實現,通常用來撰寫API未包含的進階功能或實現功能的效能優化。以封包(Packet)來為玩家與伺服器間的資料交換。另外,鑒於官方的源代碼混淆,因此,每更新一個版本就會需要手動確認、建立新的代碼來提供支援(能透過Reflection或Interface簡化開發過程,1.17以後的新版本則有Remapped version來輔助開發)。

常見用途:自定義生物、進階玩家與生物發光、玩家Skin處理、異步實現、NPC…等

  • Message Type(訊息類型)

(編號由左至右、由上至下)
  1. Chat(聊天欄)

  2. Action Bar(狀態訊息)

  3. Title(標題)

  4. Boss Bar(狀態條)

  • Slot

(左:小箱子;右:玩家背包)

各種容器格子(箱子、熔爐、釀造台等)皆有其固定對應之號碼。用其輔助GUI相關內容說明,有助於開發者理解、設計。

  • Sound List(音效列表)

Spigot API Javadocs

  • Particle List(特效列表)

Spigot API Javadocs

  • Common Dependencies(常見前置插件)

Vault(經濟API)-需要搭配Economy Provider使用

ProtocolLib(協議API)-底層封包處理

PlaceholderAPI(佔位符API)-插件訊息溝通

#壹、必要提供

  • 插件名稱

取個你喜歡的名稱吧!珍惜並愛護它。

  • 版本需求

版本越高、越進階的API(如1.20.1 Paper、Purpur),越方便開發與實現功能。

跨版本支援的複雜度取決於版本跨度(語法改變)及功能實現(如NMS)。

  • 前置插件

提供伺服器目前的插件環境。例如你想要一個基於RPG等級的稱號插件且支援佔位符,這時候請務必提供必要的插件名稱(如MMOCore、Promccore、PlaceholderAPI等)。另外,直接提供伺服器插件一覽表也非常方便確認環境。

#貳、功能釐清

Tbd

Last updated