跳至主要內容

建立蟲洞

webapp_banner.jpg

什麼是蟲洞?​

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

蟲洞機制

蟲洞可以做到以下事項:

  • 穿過一個傳送門抵達目的地傳送門,再從目的地傳送門回到第一個傳送門。
  • 在玩家穿過時播放音效
  • 在玩家穿過時暫時使其失明,以平順過渡
  • 為避免傳送迴圈,必須經過超過 5 秒,且玩家已離開目的地傳送門 1.5 × sizeMultiplier + 2 格以外,才能再次傳送
  • 在玩家傳送時自動停用飛行模式
  • 播放精緻的視覺效果
  • 要求權限才能使用蟲洞
  • 要求使用貨幣才能使用蟲洞
  • 在目的地傳送門無法使用時通知玩家與管理員

玩家每 5 tick(四分之一秒)才會被對蟲洞檢查一次,且只有在他們位於蟲洞 30 格範圍內時才會檢查。

切換世界會被視為離開目的地傳送門的半徑,因此切換世界後只剩下 5 秒的時間要求。重新連線會清除冷卻。

建立一個蟲洞

將設定檔加入 plugins/EliteMobs/wormholes。支援子資料夾,例如 plugins/EliteMobs/wormholes/dungeonName/dungeonName_identifier.yml。

在遊戲中放置蟲洞​

你不必手寫座標,可以站在你希望傳送門所在的位置並執行:

/em place wormhole <filename> <1/2>

1 設定 location1,2 設定 location2。此指令需要 elitemobs.place.admin 權限、必須由玩家執行,並會把新座標直接寫入該蟲洞的設定檔。傳送門會被錨定在你站立處上方一格(乘以 sizeMultiplier)的位置,因此經由它抵達的玩家會落在你原本站的那一格上。

抵達方向​

location1 與 location2 中的 Yaw 與 Pitch(座標中的最後兩個數字)會設定玩家抵達蟲洞該一側時所面向的方向。讓我們看看這個範例:

location1: my_world,20,10,20,180,20

由於 Yaw 設定為 180,玩家抵達時會面向北方。Pitch 遵循 Minecraft 的慣例,正值代表往下看、負值代表往上看,因此 Pitch 為 20 表示玩家抵達時會稍微向下看。

請注意蟲洞並不會把玩家推往任何地方;抵達位置就只是另一側的座標,包含其 yaw 與 pitch。

蟲洞設定​

以下是一個有效的蟲洞設定範例:

isEnabled: true
location1: em_primis,1288.5,19,452.5,135,-23
location2: em_primis,1288.5,-39,451.5,180,-1

isEnabled​

設定蟲洞是否啟用。

鍵值預設值
isEnabled布林值true
範例
isEnabled: true

location1​

指定蟲洞的第一個位置。兩個位置欄位都接受 world,x,y,z,yaw,pitch,也接受 adventurers_guild_hub.yml 這類地城套件檔名。套件參照使用該套件設定的傳送位置。使用前請安裝套件並載入其世界。傳送處理會檢查解析後的位置及世界載入狀態,不會另行強制檢查套件的安裝旗標。它不會建立新的地城實例。

鍵值預設值
location1字串無
範例
location1: world_one,50,100,50,0,0

location2​

指定蟲洞的第二個位置。

鍵值預設值
location2字串無
範例
location2: world_two,100,33,100,0,0

location1Text​

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

鍵值預設值
location1Text字串無
範例
location1Text: Awesome Wormhole In World One

create_wormhole_location1text.jpg


location2Text​

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

鍵值預設值
location2Text字串無
範例
location2Text: Awesome Wormhole In World Two

create_wormhole_location2text.jpg


permission​

設定雙向使用蟲洞所需的權限。啟用 /em quest bypass 的玩家會略過這項權限檢查,但仍須符合費用與冷卻條件。

鍵值預設值
permission字串無
範例
permission: elitemobs.mypermission

coinCost​

設定蟲洞的使用費用。一般使用菁英金幣;啟用 Vault 經濟整合時則使用伺服器貨幣。

只有在權限、冷卻與目的地檢查都通過後才會扣款,且雙向的費用相同。付不起費用的玩家會收到 Wormholes.yml 中的 insufficientCurrencyForWormholeMessage,且不會被傳送。若傳送被取消或未能抵達,費用會退還。

若經濟系統無法確認扣款或退款,EliteMobs 會告知玩家聯絡管理員,記錄該金額以便手動核對,並在伺服器重新啟動前禁止該玩家使用所有蟲洞。負數或非有限數值的 coinCost 會記錄警告,且該蟲洞不會傳送任何人。

鍵值預設值
coinCost雙精度浮點數0
範例
coinCost: 0

style​

設定蟲洞的視覺形狀。

此形狀是以方塊顯示實體繪製成旋轉的線框,並每 5 tick 在其上加上少量粒子點綴。把 style 設為 NONE 會完全略過該形狀。

這些效果可能使部分用戶端變慢。在 Wormholes.yml 設定 noParticlesMode: true 可關閉線框及其粒子。傳送門文字、自訂模型和獨立的基岩版標記會保留。

鍵值預設值
styleNONE / CRYSTAL / ICOSAHEDRON / CUBECUBE
範例
style: CRYSTAL

create_wormhole_style.jpg


particleColor​

設定 style 設定中所使用的粒子顏色。線框方塊並不會使用完全相同的顏色;EliteMobs 會挑選顏色最接近你所設定值的混凝土方塊。

預設值 0 是黑色,因此值得為你製作的每個蟲洞都設定此項。

鍵值預設值
particleColor0x 後接一個十六進位碼0
範例
particleColor: 0x9f5cdd

create_wormhole_particlecolor.jpg


blindPlayer​

設定傳送時是否施加 40 tick、約 2 秒的失明效果。

鍵值預設值
blindPlayer布林值false
範例
blindPlayer: true

create_wormhole_blind.jpg


sizeMultiplier​

縮放 style 定義的形狀,並將啟動半徑設為 1.5 × sizeMultiplier 格。距離包含高度,另外執行的 30 格玩家搜尋仍會限制啟動範圍。請使用有限正數。此設定也影響放置高度和文字高度,但不會縮放 FreeMinecraftModels 模型。

鍵值預設值
sizeMultiplier倍率1
範例
sizeMultiplier: 3

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

create_wormhole_size.jpg


customModel1​

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

蟲洞自訂模型需要 FreeMinecraftModels。模型必須存在,否則使用 style 線框。模型僅作裝飾,不回應點擊。傳送仍依距離觸發。

鍵值預設值
customModel1字串無
範例
customModel1: my_custom_wormhole_model

customModel2​

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

鍵值預設值
customModel2字串無
範例
customModel2: my_custom_wormhole_model

蟲洞設定範例

在這個範例中,我們會製作一個簡單的蟲洞,將我們從一個世界帶到另一個世界。別忘了蟲洞也可以只是把玩家傳送到同一世界中的不同位置。

isEnabled: true #We enable the worm by setting this value to true
location1: my_world,1.5,11.0,1.5,108.0,5.0 #this is where the wormhole will appear in my_world
location2: my_other_world,766.5,29.0,517.5,-136.0,5.0 #this is where the wormhole will appear in my_other_world
location1Text: "&aGo to My World" #makes a nice display text above wormhole location1
location2Text: "&aGo to My Other World" #makes a nice display text above wormhole location2
permission: eliteperm.coolplayers #only players with this permission will be able to use the wormhole, both for location1 and location2
coinCost: 0 #free to use; a positive value charges elite coins, or Vault currency when Vault is enabled
style: CRYSTAL #this wormhole will be in the shape of a crystal
particleColor: 0x00ff00 #this will set the wormhole particles to green
blindPlayer: true #the wormhole teleport will blind the player for a short duration to make the transition less jarring
sizeMultiplier: 1.0 #sets how big the shape of the wormhole should be

效能問題​

蟲洞效果可能使基岩版用戶端變慢。可在 plugins/EliteMobs/Wormholes.yml 中設定:

  • reducedParticlesMode: true(預設)減少沿形狀產生的點數。
  • noParticlesMode: false(預設)- 將它設為 true 會完全停用蟲洞形狀與粒子

啟用任一選項後,若伺服器的基岩版自訂實體橋接可用,基岩版玩家也能看到簡單的標記。它使用 particleColor,最小縮放倍率為 0.5。成功載入的自訂模型會取代這個標記。Java 玩家不會看到它。

只有 30 格範圍內至少一位玩家能直視傳送門時,線框才會更新。視線被遮擋約 5 秒後,或附近不再有玩家時,線框會被移除。這不會停用靠近傳送門觸發的傳送,也不影響獨立顯示的自訂模型。