Molang/版本化变更

来自Minecraft基岩版开发Wiki

清单文件中的"min_engine_version"决定了Molang表达式在附加包中以哪个游戏版本的规则进行运作。任何版本小于或等于"min_engine_version"的版本化变更都能够起作用。

最低引擎版本[注 1] 变更内容
1.17.30 修复了query.item_remaining_use_duration从刻到秒转换时的问题(乘以20而不是除以)。还修复了该查询函数中从1降到0而不是从0升到1的正规化逻辑。
1.17.40 为以前可能会产生意外结果的无效表达式添加了一些新的报错信息。例如'text' + 1现在将导致内容日志报错。
增加了对圆括号或方括号中太多运算符的错误检测,例如:1+(2 3)。还为遇到未知符号时添加了更明确的错误检测。
1.18.10 修复了嵌套的条件(三元)运算符解析顺序应该为从右到左而不应该是从左到右的问题。以前嵌套的条件表达式如A ? B : C ? D : E将计算为(A ? B : C) ? D : E,现在它们计算为A ? B : (C ? D : E)
1.18.20 修复了使逻辑与在逻辑或之前计算,并使比较运算符在相等运算符之前计算。例如A && B || C现在计算为(A && B) || C而非A && (B || C),以及A < B == C > D现在计算为(A < B) == (C > D)而不是((A < B) == C) > D
  1. 即附加包清单文件"min_engine_version"的最低取值。