第二章 插件的啟程
第二節 引導文件Plugin.yml
當插件被載入、啟動時你是否想過插件封裝內有許多類別,那伺服器是如何取得主類別呢?我想聰明的你已經知道是從Plugin.yml取得的,而內容除了插件名稱、主類別、版本外,還可以包含其他細膩的資訊與設定。
YML,顧名思義這份文件是採用YAML格式寫作,伺服器大多是使用這種文件也有部份使用JSON格式,在編輯前請各位一定要注意一件事,文件編輯一定要採用utf-8編碼。
主要屬性:
main: |
定義主類別,這部份需要輸入完整的路徑與類別名。 |
範例: |
main: tw.org.anikaba.gameruleadmin.GameRuleAdmin |
name: |
插件名稱,這會影響到伺服器自動幫插件建立資料夾的名稱。 |
範例: |
name: GameRuleAdmin |
插件名稱需要慎重挑選。
version: |
插件版本,數字越大越新你自己看遊戲版本就知道了。 |
範例: |
version: 2.0.1 |
api-version: |
API版本,1.14後都要指定使用API的版本,最好是哪個版本核心就用哪個版本的API。 |
範例: |
api-version: 1.15 |
資訊屬性:
description: |
插件說明,簡易的解釋插件用途。 |
範例: |
description: 規則管理員 ( GameRule Admin ),圖形化gamerule便利伺服器設定;偽礦業 ( Fake Mining ),防透視外掛。 |
author: |
開發者。 |
範例: |
author: anikaba(弈昕) |
authors: |
多數開發者,大型插件不只是單人開發,內容要符合YAML的LIST格式。 |
範例: |
authors: [anikaba, anikaba02, anikaba03] |
功能屬性:
load: |
插件加載時機,有STARTUP與POSTWORLD兩種模式。 |
範例: |
load: POSTWORLD |
depend: |
依賴插件,如果伺服器沒搜到依賴的插件不會執行該插件,內容要符合YAML的LIST格式。 |
範例: |
depend: [GameRuleAdmin] |
prefix: |
前輟,默認為插件名稱。 |
範例: |
prefix: 規則管理員 |
softdepend: |
前載入插件,需要在依賴插件裡面,,內容要符合YAML的LIST格式。 |
範例: |
softdepend: [GameRuleAdmin] |
loadbefore: |
後載入插件,顧名思義要在本插件之後加載,內容要符合YAML的LIST格式。 |
範例: |
loadbefore: [GameRuleAdmin] |
指令屬性:
commands: |
指令註冊,用於註冊指令讓伺服器使用。 |
範例: |
commands: __tp: |
description: |
指令資訊,指令子屬性,說明指令功能等...。 |
範例: |
commands: __rulegui: ____description: 規則管理員圖形化箱子介面。 |
aliases: |
指令別名,指令子屬性,簡單的說指令太長或不好拼可以給個小名,複數小名內容要符合YAML的LIST格式。 |
範例: |
commands: __rulegui: ____aliases: rg 或 commands: __rulegui: ____aliases: [gui, rg] |
permission: |
權限要求,指令子屬性,需要該權限才能使用此指令。 |
範例: |
commands: __rulegui: ____permission: gameruleadmin.gui |
permission-message: |
無權限反饋,沒使用權限警示用。 |
範例: |
commands: __rulegui: ____permission: gameruleadmin.gui ____permission-message: 您無使用權限! |
usage: |
使用教學,簡單的表示如何使用該指令。 |
範例: |
commands: __rulegui: ____usage: 在聊天視窗中輸入『/rulegui』即可打開介面。 |
權限屬性:
permissions: |
權限註冊,每個節點都可以註冊。 |
範例: |
permissions: __gameruleadmin.*: __gameruleadmin.gui: |
description: |
權限資訊,權限子屬性,說明權限功能等...。 |
範例: |
permissions: __gameruleadmin.gui: ____description: 使用指令『rulegui』所需要的權限。 |
default: |
權限預設狀態,基本參數為:true,false,op,not op。 |
範例: |
permissions: __gameruleadmin.gui: ____default: true |
children: |
子權限參數,暫時不清楚使用方式! |
範例: |
NA |