「SubModule」修訂間的差異
小 (→示例) |
(→示例) |
||
行 16: | 行 16: | ||
=== <big>示例</big> === | === <big>示例</big> === | ||
− | [https://docs.bannerlordmodding.com/_xmldocs/submodule.html#example 示例代码]<br> | + | [https://docs.bannerlordmodding.com/_xmldocs/submodule.html#example 示例代码 源链接]<br> |
+ | <nowiki> | ||
+ | <Module> | ||
+ | <Name value="My Module"/> | ||
+ | <Id value="MyModule"/> | ||
+ | <Version value="v1.0.0"/> | ||
+ | <SingleplayerModule value="true"/> | ||
+ | <MultiplayerModule value="false"/> | ||
+ | <DependedModules> | ||
+ | <DependedModule Id="Native"/> | ||
+ | <DependedModule Id="SandBoxCore"/> | ||
+ | <DependedModule Id="Sandbox"/> | ||
+ | <DependedModule Id="CustomBattle"/> | ||
+ | <DependedModule Id="StoryMode" /> | ||
+ | </DependedModules> | ||
+ | <SubModules> | ||
+ | <!-- 接下来的 SubModule 元素是可选的. 如果没有 DLL 文件关联你可以移除这个部分. --> | ||
+ | <SubModule> | ||
+ | <Name value="MySubModule"/> | ||
+ | <!-- 指向 DLL 文件的路径, 如果模组叫 MyModule 那么就应该是这样子. --> | ||
+ | <DLLName value="ExampleMod.dll"/> | ||
+ | <SubModuleClassType value="ExampleMod.MySubModule"/> | ||
+ | <Tags> | ||
+ | <Tag key="DedicatedServerType" value="none" /> | ||
+ | <Tag key="IsNoRenderModeElement" value="false" /> | ||
+ | </Tags> | ||
+ | </SubModule> | ||
+ | </SubModules> | ||
+ | <Xmls> | ||
+ | <XmlNode> | ||
+ | <XmlName type="1" id="Items" path="customitems"/> | ||
+ | </XmlNode> | ||
+ | <XmlNode> | ||
+ | <XmlName type="1" id="SPCultures" path="customcultures"/> | ||
+ | </XmlNode> | ||
+ | <XmlNode> | ||
+ | <XmlName type="1" id="NPCCharacters" path="customcharacters"/> | ||
+ | </XmlNode> | ||
+ | </Xmls> | ||
+ | </Module> | ||
+ | </nowiki> |
於 2020年4月20日 (一) 13:13 的修訂
SubModule (XML)
元素注釋
- Name - 你的模組的名字。
- Id - 你的模組的id (不要使用空格)。
- Version - 你的模組的當前版本。
- SinglePlayerModule - 你的模組是否適用單人遊戲。
- MultiPlayerModule - 你的模組是否適用多人遊戲。
- DependedModules - 你的模組生效所需要依賴的模組。
- SubModules - 構成你的模組的子模塊(DLLs)。
- Xmls - 包含到 ModuleData 文件夾中的 XML 文件的路徑。
重要
兩個相互獨立的模組(或同一個模組)的XML文件里如果存在相同的id的話,它們會被合併生效而不是一個被另一個覆蓋。然而,倘若在同一個XML文件中存在兩個相同的id(兩個物品),在啟動器執行啟動命令時會以模組加載的順序相互覆蓋,就像像啟動器中看到的模組順序一樣,了解這一點對於是否覆蓋Native內容很重要。
MPClassDivisions 當前不可用。
示例
<Module> <Name value="My Module"/> <Id value="MyModule"/> <Version value="v1.0.0"/> <SingleplayerModule value="true"/> <MultiplayerModule value="false"/> <DependedModules> <DependedModule Id="Native"/> <DependedModule Id="SandBoxCore"/> <DependedModule Id="Sandbox"/> <DependedModule Id="CustomBattle"/> <DependedModule Id="StoryMode" /> </DependedModules> <SubModules> <!-- 接下来的 SubModule 元素是可选的. 如果没有 DLL 文件关联你可以移除这个部分. --> <SubModule> <Name value="MySubModule"/> <!-- 指向 DLL 文件的路径, 如果模组叫 MyModule 那么就应该是这样子. --> <DLLName value="ExampleMod.dll"/> <SubModuleClassType value="ExampleMod.MySubModule"/> <Tags> <Tag key="DedicatedServerType" value="none" /> <Tag key="IsNoRenderModeElement" value="false" /> </Tags> </SubModule> </SubModules> <Xmls> <XmlNode> <XmlName type="1" id="Items" path="customitems"/> </XmlNode> <XmlNode> <XmlName type="1" id="SPCultures" path="customcultures"/> </XmlNode> <XmlNode> <XmlName type="1" id="NPCCharacters" path="customcharacters"/> </XmlNode> </Xmls> </Module>