切換
舊版
前往
大廳
主題

第二節 引導文件Plugin.yml

此間半開一盞茶 | 2020-02-29 16:44:38 | 巴幣 2 | 人氣 253

第二章 插件的啟程

第二節 引導文件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]







website:
官網,建議放插件介紹頁面,或者是宣傳自己的頁面。
範例:
website: http://minecraft-server-seminar.weebly.com/






功能屬性:


load:
插件加載時機,有STARTUP與POSTWORLD兩種模式。
範例:
load: POSTWORLD
基本上不使用也會默認為POSTWORLD模式,在此模式下onEnable()的方法會在建立世界後執行,如果為STARTUP,就會在世界建立前執行。


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
基本上如果沒有設定自動默認為op,想要所有人都有該權限則設為true,相反不給權限設為false,只給op不用我說就是設為op,相反除了op所有人都給權限就設not op。


children:
子權限參數,暫時不清楚使用方式!
範例:
NA






送禮物贊助創作者 !
0
留言

創作回應

更多創作