本站文本内容除另有声明外,转载时均必须注明出处,并遵守CC BY-NC-SA 3.0协议。(转载须知
本站是中文Minecraft Wiki的镜像站,与Mojang Studios、Weird Gloop没有从属关系。(免责声明

全站通知:

模块:LootChest/doc

来自我的世界地下城WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

本模块生成一个带有战利品信息的表格。

用法

以下具体信息请查看对应模板的文档。

all函数

嵌套模板:Template:LootChest

隐式参数输入若干结构ID值,生成这些结构箱子中的战利品信息。战利品ID值取决于JSON文件中的值。

若Java和基岩版的结构ID值不同的,需要同时输入参数。

{{LootChest|bastion_bridge|bastion_other|bastion_hoglin_stable|<!-- Java -->bastion_treasure|<!-- Bedrock -->buriedtreasure}}

item函数

嵌套模板:Template:LootChestItem

隐式参数输入若干物品的命名空间ID,生成这些物品可被获取的结构名信息。

{{LootChestItem|emerald|apple}}

维护

模块使用JSON文件生成信息表。

版本 JSON版本号 备注 最后更新日期 操作
Java版 1.20.4 不包含实验性功能 2023年12月8日 (五) 02:49 (UTC) 查看 历史 更新
Java版开发版 1.20.3-pre4 包含实验性功能,略有修改 2023年11月29日 (三) 16:25 (UTC) 查看 历史 更新
基岩版 1.20.0 2023年6月7日 (三) 16:42 (UTC) 查看 历史 更新
基岩版测试版 1.20.60.20 包含实验性功能,略有修改 2023年11月29日 (三) 16:25 (UTC) 查看 历史 更新
Java版愚人节快照 23w13a_or_b 2023年4月2日 (日) 12:41 (UTC) 查看 历史 更新

JSON的数据结构是:

{
    "structure ID": {
    ...
    },
    "structure ID": {
    ...
    }
}

这些JSON可通过脚本生成(下载),将此脚本与游戏战利品表JSON放置在同一层级,然后执行(python JsonMaker.py),会得到structureList.txt(名称列表)以及result.txt(最终结果文件),然后将result.txt上传即可。

生成JSON时需要注意的事项:

  • Java版的战利品表位于游戏jar文件的data/minecraft/loot_tables/chests(正式内容)下以及-{}-data/minecraft/datapacks/实验性数据包名称/data/minecraft/loot_tables/chests(实验性内容)下。
    • 生成Java版正式版JSON时,即便此正式版有实验性内容,实验性内容也不应包含在内。
    • 生成Java版开发版JSON时,需要先将各实验性数据包中的战利品表先应用到正式内容上再生成。实验性数据包中的战利品表如与正式内容的同名,则用实验性的替换正式的。
  • 基岩版的战利品表位于游戏安装文件的assets/behavior_packs/vanilla/loot_tables/chests-{}-assets/behavior_packs/vanilla_正式版版本号/loot_tables/chests(正式内容)下以及-{}-assets/behavior_packs/experimental_实验性内容名称/loot_tables/chests(实验性内容)下。
    • 生成基岩版正式版JSON时,需要先将各版本的战利品表按版本号从前到后的顺序依次应用到vanilla再生成。文件名有冲突的则直接用新的替换旧的。
    • 生成基岩版测试版JSON时,需要先用生成正式版JSON的方法,把各正式版合并后,再把实验性内容合并到正式版内容上。文件名有冲突的则直接用实验性的替换正式版的。
  • JSON格式不允许注释,如遇到生成出的JSON中有注释的,应该将其去除。

配置

模块使用配置页面进行控制。

页面:Module:LootChest/config

  • switch (对开发/Beta版进行开关)
  • header (表格开头的文本,用于不同语言本地化)
  • report (报错信息)
  • mark (物品前后缀的标注信息)
  • debug
    • onlyJava (只显示Java版的内容)
    • onlyBedrock (只显示bedrock的内容)
  • style (两个生成表的自定义样式)
  • json (生成表的JSON文件页面名)
  • functions (指定读取哪些function至下一级转换)
    • functionsName (对应的function名,其中包含了一个表。表的第一个值是函数的数值对应,会读取为函数的value值。如果指定二三值且存在这两个值,自动使用a-b式链接)
  • customize (定制物品名/结构名的转换方案,如果启用则使用config末尾的函数替代代码中的对应的函数。
  • itemLink (输入物品命名空间ID和配置,返回显示内容的函数,如果customize中启用本函数。)
  • struLink (同上)

转换

模块使用转换JSON表进行物品名,结构名等的转换。
页面:Module:LootChest/cov.json

  • structure
    • text (结构的显示文本,输入到Sprite的text参数,结构ID→显示文本)
    • sprite-data-type (结构Sprite的数据类型,默认为EnvSprite)
    • sprite-id (用于生成图的结构ID,输入到Sprite的id参数,结构ID→Sprite ID)
  • item
    • sprite-data-type (设置物品Sprite的数据类型,默认为ItemSprite)
    •  cov (item的结构转换表)
      • id/name/text/link (默认将item的命名空间ID输入到Sprite的1参数,可用这些键值替代模板的参数)
      • function (如果存在某个函数指定,那使用function内的表重新覆盖Sprite参数)
        • id/name/text/link
      • aux (如果存在物品附加值,那使用aux内的表重新覆盖Sprite参数)
        • id/name/text/link (默认将item的命名空间ID输入到Sprite的1参数,可用这些键值替代模板的参数)
        • function (如果存在某个函数指定,那使用function内的表重新覆盖Sprite参数)
          • id/name/text/link
  • note (注释信息)
    • functions (函数指定的注释,具有某个函数定义则添加对应注释)
      • functionName (对应的function名)
        • valueName (对应function的值内容)
    • assign (自定义的注释,格式为命名空间ID:注释内容)

本地化

请将本段文本翻译至其他语言。

结构名和物品名使用Module:Sprite生成一个带图标的链接,这意味着如果本地没有此模块,将无法使用内置转换函数。不过可以在配置中启用独立转换函数(参见配置页文档)。

对于物品名,默认会将命名空间ID作为Module:Sprite的一参数传入,可以通过转换表来补充或改变参数内容(参见转换表文档)。如果一参数没有被转换,那么会进行简单处理(下划线替换,后缀删除等)。另外,如果一个物品属于方块的数据组,那么需要在转换组中为物品特殊声明(type=block),才可以正常生成Sprite图标。

对于结构名,没有一个标准的命名格式,因此必须同时传入本地化翻译和Module:Sprite要求的参数值。同样,如果数据组特殊,也需要特殊声明(data-type=BlockSprite)。

对于注释,转换表使用了两种方案。一,对于损坏或魔咒,有模板注释自动添加。二,可以通过制定命名空间ID给其添加注释。

对于以上三者,如果有特殊的使用需求,则可以在配置中启用独立转换函数。

此模块目前处于Beta版,有问题或需求建议优先在相关讨论话题中进行通知,以进行代码统一修改。