第 7 章 - 開發小技巧在開發插件時很多時候都會出現「我想要做到某個功能,但我不知到該如何做」的情況
Spigot 提供了一個在線的 Javadoc,裏面記錄了所有 Spigot API 提供的類別、函式
例如我想要設定玩家的蹲下狀態,就在 Javadoc 右上角的 SEARCH 輸入蹲下的英文 (Sneak)
接下來我們要分辨哪個是我們需要的函式
搜尋結果中最常見有這幾種關鍵字:
- XXXXEvent (事件監聽器的種類)
- setXXXX (設定某物件的屬性)
- getXXXX (取得某物件的屬性)
- is|canXXXX (取得某物件能否做到某樣事情,傳回 Boolean 布林值)
這次我們要的功能屬於 設定某物件的屬性,而含有 set 的函式就只有 setSneaking(boolean)
這時候只要按下去然後確認那是你要的功能就好了~
那如果無論輸入什麼關鍵字都找不到的話......
請善用 GOOGLE,輸入 "Spigot 你要的功能"
儘量用英文,真的看不懂才找中文,因為Spigot 中文資源真的不是很多(?
如果還是找不到的話... 就可以留言問我/到巴哈上問其他人啦~
第 8 章 - GUI 選單
在這個時代,許多優質、高質素的插件都會提供 GUI 讓用家更容易地調整設定
要做到 GUI 其實很簡單,我們只需要向玩家打開一個設定好內容的背包 (Inventory)
然後再透過事件監聽器檢測玩家點擊 GUI 時作出相應指令
首先我們要註冊相應的 CommandExecutor 跟 EventListener
getCommand("menu").setExecutor(new MenuCommand()); getServer().getPluginManager().registerEvents(new MenuListener(), this); |
然後讓玩家在輸入指令 /menu 時打開 GUI
(註: 以後介紹程式碼都會直接在程式碼中插入註解 "//",非特別函式、用法都不會另外介紹)
再註冊事件監聽器監聽玩家點擊背包,
檢查背包的名字、點擊的物品,再執行效果
最後在 plugin.yml 註冊指令
匯出插件後就可以測試看看~
這樣就可以做到 GUI 啦~~