此特性為Java版獨有。
隨機序列(Random Sequences)是用於生成戰利品表和計算/random命令
NBT結構
隨機序列資訊儲存於每個存檔的/data/random_sequences.dat中,它是一個以GZip壓縮的NBT檔案。
- 根標籤
- data:隨機序列數據。
- DataVersion:數據版本。
應用
隨機序列影響所有未指定種子的戰利品表生成。世界生成的容器內的戰利品不受隨機序列影響(但受到種子碼的直接影響),而其他戰利品表則受到隨機序列影響,例如破壞方塊時的跌落物、殺死實體時的跌落物、釣魚時可以釣上的物品和豬人的以物易物。
當第一次使用一個隨機序列或隨機序列被/return reset重設
- 設定初始值為 salt的值
[新增:JE 1.20.2]/種子碼 [失效:JE 1.20.2]。 - 如果 include_world_seed為true,則值與種子碼進行異或。如果為false,則代表隨機序列與種子碼無關。
[新增:JE 1.20.2] - 將值擴展為128位元,其中低64位元是值與
0x6a09e667f3bcc909進行異或,高64位元是低64位元與0x61c8864680b583eb相加。 - 如果 include_sequence_id為true,
[新增:JE 1.20.2]將值與隨機序列命名空間ID的MD5值進行異或。如果為false,則對於世界中的每個隨機序列都會初始化為同一個種子。 [新增:JE 1.20.2] - 對值低64位元和高64位元分別進行如下計算,計算後的值即為隨機數發生器的種子。
public static long mixStafford13(long v) {
v = (v ^ v >>> 30) * 0xbf58476d1ce4e5b9L;
v = (v ^ v >>> 27) * 0x94d049bb133111ebL;
return v ^ v >>> 31;
}
隨機序列使用Xoroshiro128++隨機數發生器。
歷史
| Java版 | |||||
|---|---|---|---|---|---|
| 1.20 | pre1 | 加入了隨機序列。 | |||
| 1.20.2 | 23w31a | 修改了隨機序列的初始化方式。 | |||
| 版本 | |||||||
|---|---|---|---|---|---|---|---|
| 開發週期 |
| ||||||
| 技術 |
| ||||||
| 多人遊戲 | |||||||
| 遊戲訂製 | |||||||