Minecraft 26.3 Pre-Release 1
# Minecraft 26.3 Pre-Release 1
**《我的世界》Java 版预发布版**
26.3 的第一个预发布版来了!这版主要是技术改动,但我们现在以修 bug、做改进、为正式发布收尾为主。
挖矿愉快!
## 更改
### 界面(UI)
- macOS 重新支持“独占全屏(Exclusive Fullscreen)”。
- macOS 的“视频设置”新增“菜单/程序坞可见性(Menu/Dock Visibility)”选项:控制全屏时把鼠标移到屏幕边缘是否能唤出 macOS 菜单栏和程序坞。
- 启用独占全屏时,光标被限制在窗口内。
## 技术性更改
- 数据包版本:**119.0**
- 资源包版本:**97.1**
### 数据包版本 119.0
`minecraft:number_provider` 与 `minecraft:number_provider_type` 被拆成两套注册表:
- 整数计算:`minecraft:context_int_provider` / `minecraft:context_int_provider_type`
- 浮点计算:`minecraft:context_float_provider` / `minecraft:context_float_provider_type`
目的:避免整数和浮点运算混用导致精度/范围意外丢失。
> 注意:不要和已有的 `minecraft:int_provider_type` / `minecraft:float_provider_type` 混淆——后者是**无上下文提供者**,主要用于世界生成。
#### 数值提供者拆分规则
以下类型拆成 integer / float 两种:
- `minecraft:constant`
- `minecraft:uniform`
- `minecraft:storage`
- `minecraft:sum` → 整数版改名 `minecraft:add`,浮点版也叫 `add`
- `minecraft:product` → `minecraft:mul`
- `minecraft:minimum` → `minecraft:min`
- `minecraft:maximum` → `minecraft:max`
- `minecraft:average` → `minecraft:avg`
- `minecraft:weighted_list`
- `minecraft:conditional`
- `minecraft:number_dispatcher`
- `minecraft:environment_attribute`
仅整数版:
- `minecraft:binomial`
- `minecraft:score`
仅浮点版:
- `minecraft:enchantment_level`
原版迁移到 `context_int_provider` 的:堆肥概率、各种烹饪时间、酿造次数等。
原版迁移到 `context_float_provider` 的:烹饪速度倍率、酿造速度倍率等。
移除:
- `minecraft:cooking/normal_burn_time_multiplier` → 由 `.../normal_burn_time_reduction_factor` 替代
- `minecraft:cooking/fast_burn_time_multiplier` → 由 `.../fast_burn_time_reduction_factor` 替代
---
## 整数数值提供者(context_int_provider)
全部用 32 位整数计算;除零等非法结果未定义。
通用格式:
```
type: <minecraft:context_int_provider_type 的命名空间 ID>
<类型自有字段>
```
新增/改名类型:
- `minecraft:abs`:输入绝对值;溢出取消计算。`input`
- `minecraft:avg`:多个整数提供者结果取算术平均;除法向 0 舍入。`inputs`
- `minecraft:binomial`:抛 n 次硬币,成功概率 p,返回成功数。`n`(int provider)、`p`(float provider)
- `minecraft:conditional`:条件真返回 `on_true`,否则 `on_false`;`on_false` 可省,默认常量 0。`condition`、`on_true`、`on_false`
- `minecraft:constant`:常量。`value`;可直接写数字 `foo: 1`
- `minecraft:sub`:left - right;溢出取消
- `minecraft:from_float`:浮点转整数,向 0 截断;超范围/NaN 算错误
- `minecraft:max` / `minecraft:min`:多值最大/最小
- `minecraft:mod`:截断除法取模;除零错误
- `minecraft:floor_mod`:向下取整除法取模;除零错误
- `minecraft:environment_attribute`:读取环境属性(须可表为 int)
- `minecraft:negate`:取负;溢出取消
- `minecraft:number_dispatcher`:按顺序匹配 case,命中返回 `value`,否则 `default`(默认 0)
- `minecraft:pow`:base^exponent;负指数、0^0、溢出都取消
- `minecraft:mul`:多值乘积;溢出取消
- `minecraft:div`:截断除法;除零错误
- `minecraft:floor_div`:向下取整除法;除零/溢出错误
- `minecraft:score`:读计分板;无值时用 `fallback`(默认 0)。`score`、`target`、`fallback`
- `minecraft:storage`:从命令存储读整数;缺失/非数/多值用 fallback。`storage`、`path`、`fallback`
- `minecraft:add`:多值和;溢出取消
- `minecraft:uniform`:闭区间随机整数 `min`..`max`
- `minecraft:weighted_list`:加权列表,`distribution: [{data, weight}]`,weight 为正整数
---
## 浮点数值提供者(context_float_provider)
用单精度浮点;NaN/Infinity 结果未定义。
新增/改名类型:
- `minecraft:abs` / `ceil` / `floor` / `truncate` / `round`
- `minecraft:avg`:均值
- `minecraft:conditional`:同整数版,默认 0.0
- `minecraft:constant`:可直接写 `1.0`
- `minecraft:cos` / `minecraft:sin`:弧度输入
- `minecraft:sub` / `minecraft:add` / `minecraft:mul` / `minecraft:div`
- `minecraft:enchantment_level`:基于附魔等级的值,`amount` 为 Level-Based Value
- `minecraft:environment_attribute`:环境属性(须可表为 float)
- `minecraft:from_int`:整数转浮点
- `minecraft:length`:多值平方和开根(向量长度)
- `minecraft:max` / `minecraft:min`
- `minecraft:mod`
- `minecraft:negate`
- `minecraft:number_dispatcher`
- `minecraft:pow`
- `minecraft:storage`:从命令存储读浮点
- `minecraft:uniform`:范围内随机浮点
- `minecraft:weighted_list`
- 原版浮点:`minecraft:cooking/speed_default`、`normal_speed_multiplier`、`fast_speed_multiplier`、`brewing/speed_default`
---
## 村民交易
- `max_uses`、`xp`:必须是 `context_int_provider` 内联值
- `wants` / `additional_wants` 里的 `count`:必须是 `context_int_provider`
- `reputation_discount`:必须是 `context_float_provider`
## 命令
### `/compute`
```
/compute <target> integer <int_provider>
/compute <target> float <float_provider> [<scale>]
```
数值提供者计算失败(如除零)时,命令失败。
### `/data`
```
/data modify ... compute <target> integer <int_provider>
/data modify ... compute <target> float <float_provider>
```
## 数据组件
- `minecraft:cooking_fuel`:`burn_time` → context_int_provider;`speed_multiplier` → context_float_provider
剩余物逻辑:燃料槽还有燃料 → 掉地上;燃料耗尽 → 留在燃料槽。
- `minecraft:brewing_fuel`:`uses` → context_int_provider;`speed_multiplier` → context_float_provider;剩余物逻辑同上。
- `minecraft:compostable`:`layers` → context_int_provider
## 战利品表
- `rolls` → context_int_provider
- `bonus_rolls` → context_float_provider
### 战利品函数改动
- `set_attributes`:modifier 的 amount 用 context_float_provider
- `enchanted_count_increase`:count 用 context_float_provider
- `enchant_with_levels`:levels 用 context_int_provider
- `set_custom_model_data`:floats 用 context_float_provider,colors 用 context_int_provider
- `set_enchantments`:附魔等级用 context_int_provider
- `set_count`:count 用 context_int_provider
- `limit_count`:`min`/`max` 用 context_int_provider;`limit` 不再接受单个数字
- `set_damage`:damage 用 context_float_provider
- `set_ominous_bottle_amplifier`:amplifier 用 context_int_provider
- `set_random_dyes`:number_of_dyes 用 context_int_provider
- `set_stew_effect`:effects 的 duration 用 context_int_provider
## 谓词(Predicates)
- `random_chance`:chance 用 context_float_provider
- 移除 `value_check`,拆成:
- `int_value_check`:整数范围检查(`value` + `test`:单值或 `{min,max}`)
- `float_value_check`:浮点范围检查
- `time_check`:值和 min/max 可用 context_int_provider
- `entity_scores`:分数 min/max 可用 context_int_provider,scores 本身也可用
## 配方
### 烹饪配方
- `cinecraft:cookingtime` 不再是可选字段
- 自定义烟熏炉/高炉配方要把原 cookingtime 翻倍
- 以前依赖默认值的可写 `200`
## 世界生成
### 方块状态提供者
- 可作为独立注册表 `worldgen/block_state_provider` 定义,用命名空间字符串引用
- 内联方块状态必须是 `{...}` 对象,不允许只写方块 ID
- 改名:
- `dual_noise_provider` → `dual_noise`
- `noise_provider` → `noise`
- `noise_threshold_provider` → `noise_threshold`
- `randomized_int_state_provider` → `randomized_int`
- `rule_based_state_provider` → `rule_based`
- `simple_state_provider` → `simple`
- `weighted_state_provider` → `weighted`
- `random_block_provider` → `random_block`
- `rotated_block_provider` → `rotated`
- `rule_based`:某条规则无结果会继续下一条;全部规则和 fallback 都无结果则返回无结果
## 标签
### 物品标签
- `#furnace_fuel_bottom_takeable`:可从熔炉底面被漏斗取出的燃料
## 资源包版本 97.1
### OIT 相关着色器
- 新增 `core/blit_depth.fsh`:复制深度纹理内容,作为某些设备上后端复制方法不可用时的替代方案
## 修复的漏洞(26.3 Pre-Release 1)
- MC-154881 切快捷栏同时丢物品导致第二个物品不同步
- MC-254370 `entity_scores` 不能查所有可能分数
- MC-270970 船在头上时迈步上块镜头抖
- MC-277906 末影珍珠高速落点错误
- MC-309768 `/posteffect` 移除效果后残留 persistent targets
- MC-309855 黑色坐垫比别的坐垫多一种颜色
- MC-309870 溺尸拿矛可同时刺击和蓄力
- MC-310289 上块时完全高于命中框的碰撞被忽略
- MC-310331 Wayland + OpenGL 崩溃
- MC-310332 关单机世界回标题界面后鼠标位置不更新
- MC-310522 文本框里按右 Shift 在特定条件切全屏
- MC-310646 架子蘑菇纹理有未用像素
- MC-310710 几张地图物品纹理细节不一致
- MC-310712 旁观实体时走下界门会停止旁观
- MC-310830 scissor 边界检查忽略渲染区 Y 偏移
- MC-310957 盾挡后短暂不能横扫
- MC-310990 “加入领域”按钮超出屏幕
- MC-311037 两个不同含义按钮用同一个“Join Realm”串
- MC-311129 斑驳森林放成 flower_forest 音乐
- MC-311183 高炉/烟熏炉燃料烧两倍物品
- MC-311222 旧 NBT 转 SNBT 生成器崩溃
- MC-311236 `block_transformer` 忽略 `use_cooldown`
- MC-311274 高炉/烟熏配方 cookingtime 默认还是 100
- MC-311297 没选输入框也被输入法吃键
- MC-311298 某些区域右 Shift 解绑时切电影镜头
- MC-311364 某些界面分类标题仍不能选中
- MC-311369 世界选项界面不居中
- MC-311372 末影人可传送到含水方块
- MC-311384 旧空藏宝图叫 `filled_map.buried_treasure`
- MC-311390 溺尸游泳动画错误
- MC-311391 离开输邀请码界面总回主领域屏
- MC-311399 世界选项开命令后点“编辑游戏规则”无限加载
- MC-311400 末影人传送后箭仍弹开
- MC-311414 用不同步的胡萝卜钓竿让猪载人传任意远
- MC-311423 移动后开背包 IME 不生效/切输入法灌旧字
- MC-311428 整数模式读初始值丢精度
- MC-311431 生物群系边缘的废弃营地会生成指向自己的探险图
- MC-311472 关命令不重置个人游戏模式
- MC-311478 铜矿脉在深板岩层生成石变体矿
- MC-311486 深板岩铁矿/凝灰岩矿在 y=0 以上生成
- MC-311546 锁难度不立即禁用难度按钮
## 获取预发布版
预发布版适用于 Java 版。启动器 → 安装 → 启用快照。测试版可能坏档,请备份或单独文件夹。
跨平台服务端 jar:Minecraft server jar
报漏洞:Minecraft issue tracker
反馈:Feedback 网站 / 官方 Minecraft Discord
名 → 整数/浮点归属”对照表,做数据包移植时直接查。
页:
[1]