建立蟲洞
什麼是蟲洞?
蟲洞是一種高效率的傳送門對傳送門傳送系統。傳送門會以視覺效果標示出來。
蟲洞機制
蟲洞可以做到以下事項:
- 穿過一個傳送門抵達目的地傳送門,再從目的地傳送門回到第一個傳送門。
- 在玩家穿過時播放音效
- 在玩家穿過時暫時使其失明,以平順過渡
- 把玩家推出去,以避免陷入傳送迴圈
- 將玩家鎖定在傳送之外 5 秒,以避免陷入傳送迴圈
- 在玩家傳送時自動停用飛行模式
- 播放精緻的視覺效果
- 要求權限才能使用蟲洞
- 要求使用貨幣才能使用蟲洞
- 在目的地傳送門無法使用時通知玩家與管理員
建立蟲洞
蟲洞以設定檔的形式加入到 wormholes 資料夾中。你可以建立子資料夾,而且如果你要為特定地城新增蟲洞,建議這麼做,格式為 ` ~/plugins/EliteMobs/wormholes/dungeonName/dungeonName_identifier.yml`。
噴出(Ejection)
location1 與 location2 中的 Yaw 與 Pitch(座標中的最後兩個數字)會設定玩家穿過蟲洞時將從何處被噴出。讓我們看看這個範例:
location1: my_world,20,10,20,180,20
由於 Yaw 設定為 180,玩家會被噴出並面向北方,而由於 Pitch 設定為 20,他們也會被稍微向上噴出。如果你希望玩家在被噴出時仍停留在與蟲洞相同的方塊內,那麼把 Pitch 設定為負值是個好主意,以確保玩家不會從方塊上滑落。
蟲洞設定
以下是一個有效的蟲洞設定範例:
isEnabled: true
location1: em_primis,1288.5,19,452.5,135,-23
location2: em_primis,1288.5,-39,451.5,180,-1
isEnabled
設定蟲洞是否啟用。
| Key | Values | Default |
|---|---|---|
isEnabled | 布林值 | true |
範例
isEnabled: true
location1
指定蟲洞的第一個位置。
| Key | Values | Default |
|---|---|---|
location1 | 字串 | 無 |
範例
location1: world_one,50,100,50,0,0
location2
指定蟲洞的第二個位置。
| Key | Values | Default |
|---|---|---|
location2 | 字串 | 無 |
範例
location2: world_two,100,33,100,0,0
location1Text
設定第一個位置的顯示文字。
| Key | Values | Default |
|---|---|---|
location1Text | 字串 | 無 |
範例
location1Text: Awesome Wormhole In World One

location2Text
設定第二個位置的顯示文字。
| Key | Values | Default |
|---|---|---|
location2Text | 字串 | 無 |
範例
location2Text: Awesome Wormhole In World Two

permission
設定使用蟲洞所需的權限。
| Key | Values | Default |
|---|---|---|
permission | 字串 | 無 |
範例
permission: elitemobs.mypermission
coinCost
設定使用蟲洞的費用,以菁英金幣計。
| Key | Values | Default |
|---|---|---|
coinCost | 雙精度浮點數 | 0 |
範例
coinCost: 2.5
style
設定蟲洞的視覺形狀。
組成這些形狀的粒子在某些用戶端中可能會造成延遲。若要關閉粒子,請進入 Wormholes.yml 並將 noParticlesMode 設定為 true。
| Key | Values | Default |
|---|---|---|
style | NONE / CRYSTAL / ICOSAHEDRON / CUBE | CUBE |
範例
style: CRYSTAL

particleColor
設定 style 設定中所使用的粒子顏色。
| Key | Values | Default |
|---|---|---|
particleColor | 0x 後接一個十六進位碼 | 0 |
範例
particleColor: 0x9f5cdd

blindPlayer
設定傳送門是否會使玩家失明,以達成更平順的傳送。
| Key | Values | Default |
|---|---|---|
blindPlayer | 布林值 | false |
範例
blindPlayer: true

sizeMultiplier
倍增傳送門的大小以及 style 所設定的形狀。sizeMultiplier 也會影響觸發半徑 —— 玩家必須位於蟲洞的 1.5 × sizeMultiplier 格範圍內才能觸發傳送。
| Key | Values | Default |
|---|---|---|
sizeMultiplier | 倍率 | 1 |
範例
sizeMultiplier: 3
請記住,在套用大小倍率後,你必須調整蟲洞的 Y 座標。

customModel1
設定一個自訂模型,用於第一個位置的蟲洞顯示。使用模型識別字串。這會覆寫位置 1 在 style 中所定義的形狀。
| Key | Values | Default |
|---|---|---|
customModel1 | 字串 | 無 |
範例
customModel1: my_custom_wormhole_model
customModel2
設定一個自訂模型,用於第二個位置的蟲洞顯示。使用模型識別字串。這會覆寫位置 2 在 style 中所定義的形狀。
| Key | Values | Default |
|---|---|---|
customModel2 | 字串 | 無 |
範例
customModel2: my_custom_wormhole_model
蟲洞設定範例
在這個範例中,我們會製作一個簡單的蟲洞,將我們從一個世界帶到另一個世界。別忘了蟲洞也可以只是把玩家傳送到同一世界中的不同位置。
isEnabled: true #我們透過將此值設定為 true 來啟用蟲洞
location1: my_world,1.5,11.0,1.5,108.0,5.0 #這是蟲洞會出現在 my_world 的位置
location2: my_other_world,766.5,29.0,517.5,-136.0,5.0 #這是蟲洞會出現在 my_other_world 的位置
location1Text: "&aGo to My World" #在蟲洞 location1 上方製作一段美觀的顯示文字
location2Text: "&aGo to My Other World" #在蟲洞 location2 上方製作一段美觀的顯示文字
permission: eliteperm.coolplayers #只有擁有此權限的玩家才能使用蟲洞,location1 與 location2 皆是如此
coinCost: 2 #玩家需要付 2 枚菁英金幣才能使用蟲洞
style: CRYSTAL #這個蟲洞會是水晶的形狀
particleColor: 0x00ff00 #這會將蟲洞粒子設定為綠色
blindPlayer: true #蟲洞傳送會使玩家短暫失明,讓過渡較不突兀
sizeMultiplier: 1.0 #設定蟲洞形狀應該要多大
效能問題
蟲洞粒子可能會為執行基岩版的玩家造成用戶端效能問題。你可以在 ~plugins\EliteMobs\Wormholes.yml 中設定粒子效能:
reducedParticlesMode: true(預設)- 將粒子密度降低 50% 以獲得更好的效能,特別建議用於有基岩版用戶端的伺服器noParticlesMode: true- 完全停用所有蟲洞粒子
注意:為了最佳化伺服器效能,蟲洞只會為 30 格範圍內的玩家算繪。
