本站文本内容除另有声明外,转载时均必须注明出处,并遵守CC BY-NC-SA 3.0协议。(转载须知)
本站是中文Minecraft Wiki的镜像站,与Mojang Studios、Weird Gloop没有从属关系。(免责声明)
模块:LootChest/doc
本模块生成一个带有战利品信息的表格。
用法
以下具体信息请查看对应模板的文档。
all函数
嵌套模板:Template:LootChest
隐式参数输入若干结构ID值,生成这些结构箱子中的战利品信息。战利品ID值取决于JSON文件中的值。
若Java和基岩版的结构ID值不同的,需要同时输入参数。
{{LootChest|bastion_bridge|bastion_other|bastion_hoglin_stable|<!-- Java -->bastion_treasure|<!-- Bedrock -->buriedtreasure}}
item函数
隐式参数输入若干物品的命名空间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
(实验性内容)下。 - 基岩版的战利品表位于游戏安装文件的
assets/behavior_packs/vanilla/loot_tables/chests
和-{}-assets/behavior_packs/vanilla_正式版版本号/loot_tables/chests
(正式内容)下以及-{}-assets/behavior_packs/experimental_实验性内容名称/loot_tables/chests
(实验性内容)下。 - JSON格式不允许注释,如遇到生成出的JSON中有注释的,应该将其去除。
配置
模块使用配置页面进行控制。
- 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的值内容)
- functionName (对应的function名)
- assign (自定义的注释,格式为命名空间ID:注释内容)
- functions (函数指定的注释,具有某个函数定义则添加对应注释)
本地化
请将本段文本翻译至其他语言。
结构名和物品名使用Module:Sprite生成一个带图标的链接,这意味着如果本地没有此模块,将无法使用内置转换函数。不过可以在配置中启用独立转换函数(参见配置页文档)。
对于物品名,默认会将命名空间ID作为Module:Sprite的一参数传入,可以通过转换表来补充或改变参数内容(参见转换表文档)。如果一参数没有被转换,那么会进行简单处理(下划线替换,后缀删除等)。另外,如果一个物品属于方块的数据组,那么需要在转换组中为物品特殊声明(type=block
),才可以正常生成Sprite图标。
对于结构名,没有一个标准的命名格式,因此必须同时传入本地化翻译和Module:Sprite要求的参数值。同样,如果数据组特殊,也需要特殊声明(data-type=BlockSprite
)。
对于注释,转换表使用了两种方案。一,对于损坏或魔咒,有模板注释自动添加。二,可以通过制定命名空间ID给其添加注释。
对于以上三者,如果有特殊的使用需求,则可以在配置中启用独立转换函数。
此模块目前处于Beta版,有问题或需求建议优先在相关讨论话题中进行通知,以进行代码统一修改。