如何在雨世界1.9中給已存在區(qū)域添加新房間?
前言
本文檔的目的是帶你入門添加房間到一個(gè)已有區(qū)域,不會(huì)覆蓋所有可以設(shè)置的部分。有興趣的應(yīng)當(dāng)自行參考mods\moreslugcats中的各種設(shè)置,以及這兩個(gè)網(wǎng)站:
https://rainworldmodding.miraheze.org/wiki/Category:Content_Mods
https://rainworldmodding.miraheze.org/wiki/Downpour_Reference
本文檔也不會(huì)對地圖編輯器的用法進(jìn)行說明。

1. 建立基本文件夾結(jié)構(gòu)
在當(dāng)前版本中,游戲已經(jīng)為模組制作者準(zhǔn)備好了專門的模組文件夾,位于:
Rain World\RainWorld_Data\StreamingAssets\mods
在這個(gè)文件夾內(nèi),你可以找到游戲自帶的模組。我們的區(qū)域修改就從這里開始。
步驟:
1. 在mods文件夾中建立一個(gè)新文件夾,命名為你的模組名稱。例如,我的模組名稱為expandedleg。

2.?下面我們在你的模組文件夾內(nèi)創(chuàng)建一個(gè)名稱為modinfo的JSON文件。我的建議是你直接從一個(gè)其它模組文件夾內(nèi)復(fù)制一個(gè)過來,之后修改其中的內(nèi)容。由于編寫modinfo不在本文檔的解釋范圍內(nèi),我便不多贅述了。想更詳細(xì)了解的請查看:
https://rainworldmodding.miraheze.org/wiki/Downpour_Reference/Mod_Directories
我在這里只給一個(gè)我自己填寫的例子。

此外你也可以創(chuàng)建一個(gè)名稱為thumbnail的PNG圖片作為你的模組的封面。注意,創(chuàng)意工坊只接受16:9的圖片。
3.? 由于我們的模組是一個(gè)區(qū)域模組,我們要在你剛剛建立的文件夾中再建立一個(gè)名為modify的文件夾,以及一個(gè)名為world的文件夾。這些文件夾負(fù)責(zé)什么我之后再解釋.

4. 下面我們打開world文件夾。這個(gè)文件負(fù)責(zé)的是游戲加載的房間文件以及地圖文件。首先你需要確定你要修改哪一個(gè)區(qū)域,并且知道其在游戲文件內(nèi)的縮寫。之后在world文件夾中建立一個(gè)名稱為該區(qū)域縮寫的文件夾。例如,我要修改外緣,那么我就會(huì)在world文件夾中建立一個(gè)名叫uw的文件夾。這個(gè)文件夾用來存放新渲染的地圖。在建立這個(gè)文件夾的同時(shí),也需要建立一個(gè)存放房間文件的文件夾。例如,我要修改的區(qū)域?yàn)閡w,那么我需要建立的房間文件夾名稱應(yīng)該為uw-rooms。如果你要修改業(yè)力門,那么你應(yīng)該新建一個(gè)名稱為gates的文件夾,修改后的業(yè)力門房間應(yīng)當(dāng)放在這里。

5. 下面我們回到上一級,打開modify文件夾。Modify文件夾負(fù)責(zé)的是存放修改后的原本在原游戲world文件夾里的world_xx文件和properties文件。在modify文件夾中,建立一個(gè)world文件夾,并在這個(gè)新的world文件夾中創(chuàng)建一個(gè)區(qū)域縮寫文件夾,例如我會(huì)建立uw。

6. 做完以上步驟后,你就完整建立了修改一個(gè)已有區(qū)域房間所需要的文件夾結(jié)構(gòu)。

2. 將新房間鏈接到游戲內(nèi)(基礎(chǔ))
在開始正式修改房間之前,最好查看此網(wǎng)站以排除和其它區(qū)域模組可能出現(xiàn)的不兼容問題:https://docs.google.com/spreadsheets/d/14wt42_ZalI5di8zpUFx3WvPWldC_L7SwIbgb_TxOpUk/edit#gid=0
(需要魔法才能訪問)
步驟:
1.?參考該網(wǎng)站后,選擇一個(gè)沒有別人用過的房間(如果你準(zhǔn)備發(fā)布你的這個(gè)模組的話,這樣做可以避免不同模組之間沖突),在Level Editor中找到該房間,添加一個(gè)新的房間入口,并渲染這個(gè)新房間(或者只輸出房間txt文件,這取決于你是怎么修改的房間)。
2.??將這個(gè)修改過的房間,和你新做的房間都移到:
mods\[你的模組]\world\[區(qū)域縮寫]-rooms

3. 然后需要把房間鏈接起來。為此,你需要確定房間入口的編號。編號的排列順序遵循從上到下、從左到右的規(guī)則。在填寫房間鏈接時(shí),需要按照房間入口的順序來排序。注意,原游戲的房間在你修改了之后,房間入口的順序是可能變化的。如果你自己不能確定房間入口是怎么排列的,可以在鏈接房間之前先進(jìn)入游戲,進(jìn)入該房間,打開devtools的map選項(xiàng),查看該房間的入口順序。

4. 確定了房間入口順序之后,就需要開始填寫world_[區(qū)域縮寫].txt了。首先修改原房間的鏈接。打開:
mods\[你的模組]\modify\world\[區(qū)域縮寫]
在這個(gè)文件夾里新建一個(gè)txt文件,命名為world_[區(qū)域縮寫].txt。例如,我要修改外緣,那么我應(yīng)當(dāng)創(chuàng)建一個(gè)world_uw.txt。創(chuàng)建好后打開這個(gè)文件。
然后,在第一行填寫:
[FINDLINESTART]房間代號 :
例如,我需要修改UW_C06,那么就應(yīng)該填寫“[FINDLINESTART]UW_C06 : ”
然后換一行,填寫:
[REPLACE_1]房間代碼 : 房間鏈接1, 房間鏈接2, 房間鏈接3, [按需求填寫]
填寫鏈接房間的順序應(yīng)當(dāng)按照之前確定的房間入口順序,填寫相應(yīng)的鏈接房間。

5.?然后填寫新房間的鏈接。由于是在已有區(qū)域內(nèi)新添房間,我們需要用到游戲的融合功能。
另起一行,寫下:
[MERGE]
再另起一行,寫下:
[ENDMERGE]
這兩行之間應(yīng)當(dāng)填寫所有新房間的鏈接和生物設(shè)置。
然后這兩行之間另起一行,寫:
ROOMS
再另起一行,寫:
END ROOMS
在這兩行之間應(yīng)當(dāng)填寫所有新房間的鏈接。
在ROOMS和END ROOMS之間新起一行,寫下:
[新房間代碼] : 鏈接房間1, 鏈接房間2, 鏈接房間3, [按需求填寫]
這里的鏈接順序也應(yīng)該符合新房間的入口順序,并在應(yīng)當(dāng)和已修改房間鏈接的計(jì)劃入口對應(yīng)。
例如,我要將UW_Y01鏈接UW_C06,我計(jì)劃的鏈接入口是UW_Y01的0號入口,那么我就會(huì)在第一個(gè)鏈接房間位置填寫UW_C06。如果目前你只新添了一個(gè)新房間,那么其它入口都應(yīng)該填寫DISCONNECTED,如圖。

如果有其它新房間,應(yīng)該填寫相應(yīng)的房間代碼,并且也新起幾行寫那些房間的房間代碼和鏈接。總之就把相應(yīng)入口全都縫起來就好了。

6. 做完這一步,你的房間就應(yīng)該鏈接進(jìn)游戲內(nèi)原區(qū)域了。

3. 給新房間設(shè)置生物
????3.1 基礎(chǔ)添加
????步驟:
????1.?確定房間生物巢穴編號。方法和房間入口一樣。所有生物洞穴的數(shù)字都排在房間入口后
????面。順序依然是從上到下、從左到右。如果房間入口的最后一個(gè)編號是2,那生物洞穴第一
????個(gè)編號是3,后面以此類推。這里可以參考UW_C06的圖片。
????2. 在END ROOMS后面新起一行,寫下:
????CREATURES
? ?再新起一行,寫下:
????END CREATURES
????這兩行之間會(huì)寫下所有生物設(shè)置。
? ? 在這兩行之間新起一行,寫下:
????[房間代碼] : [洞穴號]-[生物種類]-[生成數(shù)量], [洞穴號]-[生物種類]-[生成數(shù)量]
????生成數(shù)量為1時(shí)可以不用填寫數(shù)量。示意圖如下:

????要使新設(shè)置的生物生成,需要重新開始你的存檔。
????3.2 給每個(gè)蛞蝓貓不同的生物生成
在1.5中,給不同蛞蝓貓?jiān)O(shè)置不同生物設(shè)置使用的是蛞蝓貓的代號ID。在1.9中則直接使用蛞蝓貓的名稱:

在使用時(shí),在生物設(shè)置行之前寫:(蛞蝓貓名稱)。括號應(yīng)該為英文括號。實(shí)例如下:

若多個(gè)蛞蝓貓公用同一個(gè)生物設(shè)置,則在生物設(shè)置行這樣寫:(蛞蝓貓1,蛞蝓貓2,…)。注意蛞蝓貓之間不應(yīng)該有空格隔開。實(shí)例如下:

若除了某些蛞蝓貓,其它蛞蝓貓都使用同一生物設(shè)置,那么應(yīng)該在蛞蝓貓前加一個(gè)X-,實(shí)例如下:

????