
关于模组结构与创建的概述及表层说明。 模组结构 Rimworld 文件夹 └ Mods 文件夹 └ <模组名称> ├ About 文件夹 │ ├ About.xml 文件 │ ├ Preview.png 图片 │ └ ModIcon.png 图片 ├ Assemblies 文件夹 ├ Defs 文件夹 │ ├ <文件夹名称> ├ Languages 文件夹 │ ├ <语言> │ │ ├ DefsInjected 文件夹 │ │ ├ Keyed 文件夹 │ │ └ Strings 文件夹 ├ Patches 文件夹 ├ Sounds 文件夹 │ └ <文件夹名称> │ └ <音频文件.ogg / .mp3 / .wav> └ Textures 文件夹 └ <文件夹名称> └ <纹理图片.png>
About Папка с основной информации о вашем проекте / моде. About.xml ( Обязательно ) Используемый для идентификации в списке модов Rimworld и последующей его загрузки <?xml version="1.0" encoding="utf-8"?> - Пролог, являющийся необязательным, но содержит номер версии XML и устанавливает кодировку файла UTF-8 <ModMetaData> - обязательный корневой тег Обязательные теги в файле: Строка Описание <packageId>AuthorName.ModName</packageId> packageId должно быть буквенно-цифровым, по крайней мере, с одной точкой, разделяющей две строки. Обычно рекомендуется использовать YourName.YourModName, YourProjectName.YourModName, YourName.YourSeriesName.YourModName, или что-то подобное. packageId должен быть глобально уникальным для всех модов. Если RimWorld встретит более одного мода с одинаковым packageId, даже если их нет в вашем текущем списке модов, тогда будет выдана ошибка и возможно будет использовать только первый мод. Единственный раз, когда можно использовать то же самое packageId, это если вы создаёте или продолжаете мод и хотите, чтобы он действовал как замена. В таких случаях игроки должны отказаться от подписки на оригинальный мод, чтобы иметь возможность использовать ваш. Примечание: packageId не учитывает регистр <name>ModName</name> Название вашего мода. <author> <li>AuthorName</li> <li>AuthorName2</li> </author> Автор(ы) мода. <description>Description</description> Текстовое описание вашего мода в игре. <supportedVersions> <li>1.4</li> <li>1.5</li> </supportedVersions> Версия игры, нужная для полной поддержки мода. Доступные значения: 0.14 0.15 0.16 0.17 0.18 0.19 1.0 1.1 1.2 1.3 1.4 1.5 Необязательные теги: Строка Описание <modVersion>1.0</modVersion> Версия вашего проекта. <modIconPath>Путь/к/иконке</modIconPath> Добавляет значок вашего мода, который отображается на экранах загрузки мира Обратите внимание, что текущая нестабильная версия RimWorld 1.5 также автоматически загружает About/ModIcon.png, поэтому для отображения значка мода в этом поле нет необходимости. Он нужен вам только в том случае, если вы по какой-то причине хотите сохранить значок мода в папке "Текстуры" Иконки модов должны представлять собой PNG-файлы размером 32x32 <url>URL</url> Веб-ссылка с дополнительной информацией по вашему проекту. <descriptionsByVersion> <1.4>Description For 1.4</1.4> <1.5>Description For 1.5</1.5> </descriptionsByVersion> Описание вашего проекта для каждой версии. <modDependencies> <li> <packageId>ID мода</packageId> <displayName>Название мода</displayName> <steamWorkshopUrl>Ссылка на страницу мода в Мастерской Steam</steamWorkshopUrl> </li> </modDependencies> Используется для указания зависимостей для вашего проекта. <modDependenciesByVersion> <v1.4> <li> <packageId>ID мода</packageId> <displayName>Название мода</displayName> <steamWorkshopUrl>Ссылка на страницу мода в Мастерской Steam</steamWorkshopUrl> </li> </v1.4> <v1.5> <li> <packageId>ID мода</packageId> <displayName>Название мода</displayName> <steamWorkshopUrl>Ссылка на страницу мода в Мастерской Steam</steamWorkshopUrl> </li> </v1.5> </modDependenciesByVersion> То же самое, что и <modDependencies>, только для каждой версии. <loadBefore> <li>ID мода</li> </loadBefore> Используется для указания модов, которые должны будут загрузиться ПОСЛЕ вашего. <loadBeforeByVersion> <v1.4> <li>ID мода</li> </v1.4> <v1.5> <li>ID мода</li> </v1.5> </loadBeforeByVersion> То же самое, что и <loadBefore>, только для каждой версии. <forceLoadBefore> <li>ID мода</li> </forceLoadBefore> То же самое, что и <loadBefore>, но вместо простого предупреждения RimWorld не позволит загрузить ваш мод после указанных модов. <loadAfter> <li>ID мода</li> </loadAfter> Используется для указания модов, которые должны будут загрузиться ДО вашего. <loadAfterByVersion> <v1.4> <li>ID мода</li> </v1.4> <v1.5> <li>ID мода</li> </v1.5> </loadAfterByVersion> То же самое, что и <loadAfter>, только для каждой версии. <forceLoadAfter> <li>ID мода</li> </forceLoadAfter> То же самое, что и <loadAfter>, но вместо простого предупреждения RimWorld не позволит загрузить ваш мод раньше указанных модов. <incompatibleWith> <li>ID мода</li> </incompatibleWith> Используется для указания модов, с которыми ваш мод абсолютно несовместим. <incompatibleWithByVersion> <v1.4> <li>ID мода</li> </v1.4> <v1.5> <li>ID мода</li> </v1.5> </incompatibleWithByVersion> То же самое, что и <incompatibleWith>, только для каждой версии. Preview.png ( Обязательно ) Используется в качестве изображения предварительного просмотра этого мода как в игровом менеджере модов, так и в Мастерская Steam. Настоятельно рекомендуется использовать PNG-файл размером 640x360, поскольку это размер и соотношение сторон по умолчанию ( 16:9 ). ( Использование других размеров может привести к размытию ). Вы также можете использовать разрешение 1280x720 для изображений с более высоким разрешением, но файлы предварительного просмотра должны иметь размер менее 1 МБ, иначе Мастерская Steam отклонит вашу загрузку. ModIcon.png ( Необязательно ) Отображается на экранах загрузки игры. Это должен быть PNG-файл размером 32x32 или 64x64, следует избегать слишком большого количества деталей или цветов.

程序集 此文件夹用于以已编译的.DLL文件形式向《环世界》添加用户代码。 正确编译的程序集将由《环世界》自动加载。
Defs Defs 内部的文件名或文件夹名无关紧要,因此你可以根据个人整理需求自由命名,但建议遵循基本约定(例如 SoundDef 放在 SoundDefs 文件夹中,ThingDef 放在各种 /ThingDef_*** 文件夹中)。 Defs 的基本文件夹名称模板可在《环世界》/Data/ 目录下找到。

Languages Сюда входят как переводы Defs, так и текст, связанный с кодом, а также список слов для процедурного имени и генерации контента. DefsInjected Папка DefInjected должна соответствовать типу Def, который вы пытаетесь перевести. Таким образом, переводы ThingDefs должны находиться внутри ThingDef папка. XML-файлы DefInjected имеют LanguageData в качестве их корневого тега, а отдельные узлы внутри них должны соответствовать структуре XML тегов, которые вы пытаетесь перевести. Пример: в Defs/Thing_Defs/ лежит файл Machete.xml, а в этом файле написано: <?xml version="1.0" encoding="UTF-8"?> <ThingDef> <defName>Reizi.ExampleMachete</defName> <label>Machete</label> <description>Description for Machete</description> <tools> <li> <label>handle</label> <capacities> <li>Blunt</li> </capacities> <power>9</power> <cooldownTime>2</cooldownTime> </li> <li> <label>point</label> <capacities> <li>Stab</li> </capacities> <power>14</power> <cooldownTime>2</cooldownTime> </li> <li> <label>edge</label> <capacities> <li>Cut</li> </capacities> <power>14</power> <cooldownTime>2</cooldownTime> </li> </tools> </ThingDef> исходя из этого мы в Languages/DefsInjected/Thing_Defs/Machete.xml напишем: <?xml version="1.0" encoding="UTF-8"?> <LanguageData> <Reizi.ExampleMachete.label>Мачете</Reizi.ExampleMachete.label> <Reizi.ExampleMachete.description>Описание для мачете</Reizi.ExampleMachete.description> <Reizi.ExampleMachete.tools.0.label>удар ручкой</Reizi.ExampleMachete.tools.0.label> <Reizi.ExampleMachete.tools.1.label>колющий удар</Reizi.ExampleMachete.tools.1.label> <Reizi.ExampleMachete.tools.2.label>режущий удар</Reizi.ExampleMachete.tools.2.label> </LanguageData> Keyed В отличие от файлов DefInjected, эти файлы необходимо создавать даже для языка, который используется в моде по умолчанию. Использование файлов Keyed настоятельно рекомендуется для Strings, используемых в пользовательских Assemblies. Даже если вы не планируете выполнять какие-либо переводы самостоятельно; если вы их не используете, то никто другой ваш мод тоже не сможет перевести. в Languages/<Язык_мода>/Keyed/FileName.xml записываются сообщения, которые будут появляться в различных ситуациях. Например, как в моде DubsHygiene, у которого в Languages/English/Keyed/DubsHygiene.xml написано: <?xml version="1.0" encoding="utf-8"?> <LanguageData> <dbh.Things>Things:</dbh.Things> <dbh.Terrain>Terrain:</dbh.Terrain> <dbh.Environment>Environment:</dbh.Environment> <dbh.Pollution>Pollution</dbh.Pollution> <dbh.Sewagecontamination>Sewage contamination</dbh.Sewagecontamination> <!--Construction--> <DesignatorRemovePlumbing>Remove pipes</DesignatorRemovePlumbing> <DesignatorRemovePlumbingDesc>Designate sections of a pipe type for deconstruction.</DesignatorRemovePlumbingDesc> <RemoveSewage>Remove sewage</RemoveSewage> <RemoveSewageDesc>Remove sewage from the ground and place it into barrels.</RemoveSewageDesc> <RemovePlumbing>Remove plumbing</RemovePlumbing> <RemoveAirCon>Remove air-con</RemoveAirCon> <!--Warnings--> <DBH.requiresSaunaRoom>Room is too large to heat! nMaximum of 50 cells per heater nAdd more sauna heaters or shrink the room</DBH.requiresSaunaRoom> <DBH.HeatedPool>Pool is heated</DBH.HeatedPool> <DBH.CantUsePool>Cannot use pool now:</DBH.CantUsePool> <DBH.PoolRaining>Raining</DBH.PoolRaining> <DBH.PoolTooCold>Too cold {0}</DBH.PoolTooCold> <DBHPrisonWater>Prison needs water source</DBHPrisonWater> </LanguageData> а в русском переводе всё также, но переведёно. Strings Файлы Strings используются для создания списков слов для RulePackDefs, которые будут использоваться при генерации имён и предложений.
补丁 一种安全且兼容的修改方式,可用于修改原版游戏、DLC甚至其他模组的Defs文件。 可用于调整平衡或设置标准内容、删除或禁用不需要的内容,或添加额外修改或内容以提高与模组的兼容性。 有关此部分的完整说明,请参见补丁使用指南[rimworldwiki.注意:整页内容为英文,建议使用浏览器扩展程序Linguist[chromewebstore.google.com]
声音 此文件夹用于存储模组的用户音频文件。 通常建议使用Ogg文件,但Unity也可识别并使用MP3和WAV文件。 与纹理相同,《环世界》中的音频文件通过路径名称进行识别。 如果某个模组包含与其他模组、甚至原版游戏或DLC具有相同路径和名称的音频文件,那么在您的模组列表中最后加载的文件将覆盖其他文件。有时这是通过模组故意实现的,这些模组希望改变原版或其他模组的音效。

Textures 该文件夹用于存放模组的用户自定义纹理文件。通常建议使用PNG格式文件。 与声音文件一样,《环世界》中的纹理文件通过路径名称进行识别。 如果某个模组包含的纹理文件与其他模组、甚至原版游戏或DLC中的文件具有相同的路径和名称,那么在模组列表中最后加载的模组将覆盖其他文件。有时这是由重新纹理化模组有意为之,这些模组希望改变原版游戏或其他模组的纹理。

示例 在Defs/ThingDefs_Buildings/ThingDefs.xml中: <?xml version="1.0" encoding="utf-8"?> <Defs> <ThingDefs ParentName="BuildingBase"> <defName>ID名称</defName> <label>名称</label> <description>描述</description> <graphicData> <texPath>路径/至/.</texPath>PNG</texPath> <graphicClass>GraphicSingle</graphicClass> </graphicData> <blockWind>true / false</blockWind> <castEdgeShadows>true / false</castEdgeShadows> <thingCategories> <li>Category</li> </thingCategories> <statBases> <MaxHitPoints> 耐久度 </MaxHitPoints> <WorkToBuild> 建造时间 </WorkToBuild> <Mass> 质量 </Mass> <Flammability> 易燃性 </Flammability>d <Beauty> 美观度 </Beauty> </statBases> <costList> <Название_предмета>数量</Название_предмета> </costList> <constructionSkillPrerequisite> 等级строительства </constructionSkillPrerequisite> <designationCategory>Категория предмета</designationCategory> <comps> <li Class="CompProperties_?"> </li> </comps> </ThingDefs> </Defs> Все классы уникальных свойств можно посмотреть здесь[github.com]
2026-02-11 09:01:04 发布在
环世界
说点好听的...
收藏
0
0
