소스 검색

new version template

Nattiden 2 년 전
부모
커밋
490cf03684

+ 5 - 0
Libraries/Versions/#new_version_template.md

@@ -0,0 +1,5 @@
+---
+not_finished: true
+version-image-link: https://example.com/
+---
+

+ 31 - 32
Libraries/Versions/Snapshot/23w31a.md

@@ -5,7 +5,7 @@
 在这次更改之前,玩家可以从任意图书管理员处获得任意附魔书。新手级别的图书管理员就可以出售游戏中最好的附魔书了!对于一些玩家来说,这个特性过于随机,同时在让村民交易与附魔台附魔和结构中搜索相比过于方便。
 在全新的规则下,不同生物群系的图书管理员将出售不同的附魔书,而且每个群系都会有一个独特的附魔书,且只会被该群系村庄里的大师级图书管理员出售。
 玩家现在必须先,而不是碰运气。我们希望这使图书管理员交易变得更加有趣,同时不同村庄出售的魔咒一定程度上也能提供当地历史文化的线索。
-![附魔书交易表格](/附魔书交易表格.png "附魔书交易表格")
+![附魔书交易表格]({$GetLink|Image|附魔书交易表格.png} "附魔书交易表格")
 * 不同生物群系的图书管理员现在会出售不同的附魔书
 * 个群系都分配了一个特殊的附魔书,只有拥有满经验的大师图书管理员才能出售
 * 这意味着玩家必须到达全部七个群系才能获得全部附魔书
@@ -14,7 +14,7 @@
 * 一些附魔书已从村民交易中移除,必须要通过其他渠道才能找到
 #### 流浪商人交易调整
 一些玩家觉得流浪商人要价太高,卖的东西也没什么用。因此我们降低了交易所需的绿宝石,同时加入了更多交易,并且提升了物品单次可交易的最大次数。流浪商人现在也会从玩家那里收购自己需要的物品。因此即使你不想买东西,也可以向他们提供物品,来帮助他们完成旅程。
-![流浪商人交易表格](流浪商人交易表格.png "流浪商人交易表格")
+![流浪商人交易表格]({$GetLink|Image|流浪商人交易表格.png} "流浪商人交易表格")
 * 流浪商人交易现在需要的绿宝石减少,可交易的最大次数增加
 * 流浪商人现在可以出售原木
 * 流浪商人现在也会收购物品
@@ -35,14 +35,14 @@
 * 优化了区块发送到客户端的方式,从而允许低带宽的网络连接进行多人模式游戏
 * 添加了数据包和资源包的多版本兼容支持
 * 更改了网络协议,以便未来支持更加数据驱动的内容
-* 在 server.properties 中增加了 log-ips 选项
+* 在 `server.properties` 中增加了 log-ips 选项
 * 加入了数据包和资源包的符号链接验证
 * 当 F3+B 碰撞箱显示开启后,有乘客的实体会显示乘客的着落点
 ### 命令历史
 * 现在聊天框中最近发送的 50 个命令能够在不同的游戏会话中保留
 * 你可以通过上下箭头键获得聊天和命令历史
 * 普通聊天历史依然只在一个游戏对话中保留(离开世界或者服务器会清空聊天历史)
-* 最近发送的命令储存在游戏文件夹的 command_history.txt 内
+* 最近发送的命令储存在游戏文件夹的 `command_history.txt` 内
 ### 区块发包优化
 * 优化了向客户端发送区块的方式,不再连续大量发包
 * 现在可以根据可用的带宽少量发包
@@ -52,44 +52,43 @@
 ### 网络协议
 * 略
 ### SERVER.PROPERTIES
-* 新选项 log-ips (默认为 true),当设置为 false 时,玩家加入游戏时,玩家设备的 IP 地址将不会被记录在日志中
+* 新选项 `log-ips` (默认为 `true`),当设置为 `false` 时,玩家加入游戏时,玩家设备的 IP 地址将不会被记录在日志中
 ### 符号链接验证
 * 为保证安全性,游戏会检测数据包和资源包中含有的符号链接。
 ### 遥测
 * 在遥测数据收集屏幕内添加了一个指向微软隐私声明的按钮
 ### 资源包版本 16 更新内容
-* 你可以通过 Slicer 工具来自动更新你的资源包
-? 按钮 Slicer工具(Github) 打开网页 https://github.com/Mojang/slicer/releases/tag/v1.1 打开网页
-* 所有 GUI 精灵表中包含的纹理已被切分为 textures/gui/sprites 目录下单独的精灵图(使用 Slicer 工具自动化)
-* realms 命名空间下的全部纹理现已移动到 minecraft 命名空间下(使用 Slicer 工具自动化)
-* villager2.png 被重命名为 villager.png(使用 Slicer 工具自动化)
-* icon/trial_available 和 realm_status/expires_soon GUI 中使用的精灵图现在使用 .mcmeta 声明动画,而不再是单独的精灵图(使用 Slicer 工具自动化)
+* 你可以通过 [Slicer](https://github.com/Mojang/slicer/releases/tag/v1.1) 工具来自动更新你的资源包
+* 所有 GUI 精灵表中包含的纹理已被切分为 `textures/gui/sprites` 目录下单独的精灵图(使用 Slicer 工具自动化)
+* `realms` 命名空间下的全部纹理现已移动到 `minecraft` 命名空间下(使用 Slicer 工具自动化)
+* `villager2.png` 被重命名为 `villager.png`(使用 Slicer 工具自动化)
+* `icon/trial_available` 和 `realm_status/expires_soon` GUI 中使用的精灵图现在使用 .mcmeta 声明动画,而不再是单独的精灵图(使用 Slicer 工具自动化)
 * 具体内容与其余内容略
 ### 数据包版本 16 更新内容
-* 游戏规则 randomTickSpeed 现在也会影响积雪和冰,就像随机刻影响作物和其他方块一样
-* 添加了 random 命令
-* 添加了 execute 子命令:execute if function
-* 添加了 return 子命令:return run
+* 游戏规则 `randomTickSpeed` 现在也会影响积雪和冰,就像随机刻影响作物和其他方块一样
+* 添加了 `random` 命令
+* 添加了 `execute` 子命令:`execute if function`
+* 添加了 `return` 子命令:`return run`
 * 添加了对函数宏的支持
-* 更改了展示实体的 post-teleport 插值
-* 添加了新属性 generic.max_absorption
-* 将 /scoreboard 命令中用于调整显示位置的参数 belowName 重命名为 below_name
+* 更改了展示实体的 `post-teleport` 插值
+* 添加了新属性 `generic.max_absorption`
+* 将 `/scoreboard` 命令中用于调整显示位置的参数 `belowName` 重命名为 `below_name`
 * 更改了部分游戏事件
 * 添加了新标签
 #### RANDOM
-* 一个新命令,用于输出随机结果,或控制随机序列。可以使用 value 和 roll 来抽取随机数。使用 roll 时,结果将在聊天窗口中显示给所有玩家。
+* 一个新命令,用于输出随机结果,或控制随机序列。可以使用 `value` 和 `roll` 来抽取随机数。使用 `roll` 时,结果将在聊天窗口中显示给所有玩家。
 #### EXECUTE IF FUNCTION
-* 一个新的 execute 子命令,用来运行函数或函数标签,并匹配一个或多个输出值。如果给定一个函数标签,则标签下每一个函数都会运行,无论前一个函数输出如何。
+* 一个新的 `execute` 子命令,用来运行函数或函数标签,并匹配一个或多个输出值。如果给定一个函数标签,则标签下每一个函数都会运行,无论前一个函数输出如何。
 #### 函数
 * 如果一个反斜杠符号 \ 作为一行的最后非空字符,则允许一个命令在下一行继续
 #### 函数宏
 * 函数内现在可以包括函数宏。
 * 可以通过在一行开头(第一个非空字符)使用  $  标记函数宏
-* 函数宏内可通过 $(variable) 调用变量值
+* 函数宏内可通过 `$(variable)` 调用变量值
 * 在调用函数宏时,必须提供包含所有参数变量的数据集
 * 可以使用下面列举的形式
-	* function <id> <compound> :compound:一组复合数据,用 {} 表示
-	* function <id> with <data source> [<path>]
+	* `function <id> <compound>` :compound:一组复合数据,用 {} 表示
+	* `function <id> with <data source> [<path>]`
 		* data source:一个指定的数据值,就像使用 data get 获取到的那样
 		* path:一个指定 NBT 的路径
 * 数据值和 NBT 路径必须指定复合数据项
@@ -102,21 +101,21 @@
 #### 展示实体插值
 * 展示实体现在会在更新后的下一刻开始更新它们在客户端的位置
 * 在服务端,位置和旋转的更新仍然是立即进行
-* 单次插值的持续时间由 teleport_duration 字段控制
+* 单次插值的持续时间由 `teleport_duration` 字段控制
 * 注意:骑乘行为仍与过去版本相同
 #### 属性
-* 添加新属性 generic.max_absorption,用来限制 AbsorptionAmount 的最大值
-* 伤害吸收状态效果(absorption)可以提升 generic.max_absorption,生物在获得该效果时立即将 AbsorptionAmount 提升至最大值
+* 添加新属性 `generic.max_absorption`,用来限制 `AbsorptionAmount` 的最大值
+* 伤害吸收状态效果(absorption)可以提升 `generic.max_absorption`,生物在获得该效果时立即将 `AbsorptionAmount` 提升至最大值
 #### 游戏事件
-* entity_roar 和 entity_shake 游戏事件被移除,替换为 entity_action 游戏事件
+* `entity_roar` 和 `entity_shake` 游戏事件被移除,替换为 `entity_action` 游戏事件
 #### 标签
-* 添加 no_knockback 伤害类型标签,拥有该标签的伤害类型本身不再造成击退
-* 添加 non_controlling_rider 标签,拥有该标签的实体在作为乘客时不能控制它们的坐骑移动
-* 添加 concrete_powder 方块标签,包含全部混凝土粉末方块
-* 添加 camel_sand_step_sound_blocks 方块标签,拥有该标签的方块会发出 entity.camel.step_sand 音效
+* 添加 `no_knockback` 伤害类型标签,拥有该标签的伤害类型本身不再造成击退
+* 添加 `non_controlling_rider` 标签,拥有该标签的实体在作为乘客时不能控制它们的坐骑移动
+* 添加 `concrete_powder` 方块标签,包含全部混凝土粉末方块
+* 添加 `camel_sand_step_sound_blocks` 方块标签,拥有该标签的方块会发出 `entity.camel.step_sand` 音效
 ## 修复的主要漏洞
 * 村民被多次感染和治愈后交易折扣会加倍
-* /item 命令无法移除唱片机、雕纹书架内物品
+* `/item` 命令无法移除唱片机、雕纹书架内物品
 * 在加入服务器、切换维度及重生时,世界不加载 或 玩家会掉出世界
 * 幽匿感测体不检测一些实体发出的音效
 * 铁傀儡生成速率下降

+ 1 - 0
Libraries/Versions/__LIBRARY__.yml

@@ -5,5 +5,6 @@ fill:
   version-id: ${file_name}
   title: ${file_name}
   templates:
+    - VersionPlaceholder
     - VersionMarkdownCard
     - Raw

+ 1 - 1
Project.yml

@@ -1,2 +1,2 @@
-version: 0.9.0
+version: 0.10.3
 default_page: News

+ 1 - 1
Resources/Components/Loading.xaml

@@ -1 +1 @@
-<local:MyLoading Margin="0,0,0,4" Text="${content}"/>
+<local:MyLoading Margin="0,0,0,4" Text="${loading_content}"/>

+ 7 - 6
Resources/Scripts/GetLink.py

@@ -19,14 +19,15 @@ def gen_official_link(vid:str):
         return f'https://minecraft.net/article/minecraft-java-edition-{vid.replace(".","-")}'
     return ''
 
-def script(card,arg,res):
+def script(card,args,res):
     name:str = card['version-id']
-    data = res.data[f'{arg[1]}Link']
+    if card.get('not_finished') == 'true':
+        return ''
+    data = res.data[f'{args[1]}Link']
+    if len(args) >= 3:
+        return data[args[2]]
     if '${' in name:
         raise KeyError()
-    if arg[1] == 'Mcbbs' and name not in data:
-        LogInfo(f'尝试获取MCBBS链接 {name},但未找到,由于 MCBBS 关站,返回空值以抑制 Warning')
-        return ''
-    if arg[1] == 'Official' and name not in data:
+    if args[1] == 'Official' and name not in data:
         return gen_official_link(name)
     return data[name]

+ 10 - 0
Resources/Templates/VersionPlaceholder.yml

@@ -0,0 +1,10 @@
+components:
+ - Loading
+base: Card
+fill:
+   loading_content: 新版本内容待翻译
+filter:
+   file_exten:
+    - md
+   not_finished:
+    - true