跳至主要內容

建立蟲洞

webapp_banner.jpg

什麼是蟲洞?

蟲洞是一種高效率的傳送門對傳送門傳送系統。傳送門會以視覺效果標示出來。

蟲洞機制

蟲洞可以做到以下事項:

  • 穿過一個傳送門抵達目的地傳送門,再從目的地傳送門回到第一個傳送門。
  • 在玩家穿過時播放音效
  • 在玩家穿過時暫時使其失明,以平順過渡
  • 把玩家推出去,以避免陷入傳送迴圈
  • 將玩家鎖定在傳送之外 5 秒,以避免陷入傳送迴圈
  • 在玩家傳送時自動停用飛行模式
  • 播放精緻的視覺效果
  • 要求權限才能使用蟲洞
  • 要求使用貨幣才能使用蟲洞
  • 在目的地傳送門無法使用時通知玩家與管理員

建立蟲洞

蟲洞以設定檔的形式加入到 wormholes 資料夾中。你可以建立子資料夾,而且如果你要為特定地城新增蟲洞,建議這麼做,格式為 ` ~/plugins/EliteMobs/wormholes/dungeonName/dungeonName_identifier.yml`。

噴出(Ejection)

location1location2 中的 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

設定蟲洞是否啟用。

KeyValuesDefault
isEnabled布林值true
範例
isEnabled: true

location1

指定蟲洞的第一個位置。

KeyValuesDefault
location1字串
範例
location1: world_one,50,100,50,0,0

location2

指定蟲洞的第二個位置。

KeyValuesDefault
location2字串
範例
location2: world_two,100,33,100,0,0

location1Text

設定第一個位置的顯示文字。

KeyValuesDefault
location1Text字串
範例
location1Text: Awesome Wormhole In World One

create_wormhole_location1text.jpg


location2Text

設定第二個位置的顯示文字。

KeyValuesDefault
location2Text字串
範例
location2Text: Awesome Wormhole In World Two

create_wormhole_location2text.jpg


permission

設定使用蟲洞所需的權限。

KeyValuesDefault
permission字串
範例
permission: elitemobs.mypermission

coinCost

設定使用蟲洞的費用,以菁英金幣計。

KeyValuesDefault
coinCost雙精度浮點數0
範例
coinCost: 2.5

style

設定蟲洞的視覺形狀。

組成這些形狀的粒子在某些用戶端中可能會造成延遲。若要關閉粒子,請進入 Wormholes.yml 並將 noParticlesMode 設定為 true

KeyValuesDefault
styleNONE / CRYSTAL / ICOSAHEDRON / CUBECUBE
範例
style: CRYSTAL

create_wormhole_style.jpg


particleColor

設定 style 設定中所使用的粒子顏色。

KeyValuesDefault
particleColor0x 後接一個十六進位碼0
範例
particleColor: 0x9f5cdd

create_wormhole_particlecolor.jpg


blindPlayer

設定傳送門是否會使玩家失明,以達成更平順的傳送。

KeyValuesDefault
blindPlayer布林值false
範例
blindPlayer: true

create_wormhole_blind.jpg


sizeMultiplier

倍增傳送門的大小以及 style 所設定的形狀。sizeMultiplier 也會影響觸發半徑 —— 玩家必須位於蟲洞的 1.5 × sizeMultiplier 格範圍內才能觸發傳送。

KeyValuesDefault
sizeMultiplier倍率1
範例
sizeMultiplier: 3

請記住,在套用大小倍率後,你必須調整蟲洞的 Y 座標。

create_wormhole_size.jpg


customModel1

設定一個自訂模型,用於第一個位置的蟲洞顯示。使用模型識別字串。這會覆寫位置 1 在 style 中所定義的形狀。

KeyValuesDefault
customModel1字串
範例
customModel1: my_custom_wormhole_model

customModel2

設定一個自訂模型,用於第二個位置的蟲洞顯示。使用模型識別字串。這會覆寫位置 2 在 style 中所定義的形狀。

KeyValuesDefault
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 格範圍內的玩家算繪。