#生成 #我的世界 #末地 #建造 #实现 #种子 #事物

bin+lib myworld_end_生成

在 Rust 中实现的 myworld 末地生成

13 个版本

0.3.2 2021 年 5 月 5 日
0.3.1 2021 年 5 月 5 日
0.3.0 2021 年 2 月 17 日
0.2.1 2021 年 2 月 15 日
0.1.2 2020 年 8 月 9 日

#2253 in 算法

每月 43 次下载

MIT 许可证

15KB
270

myworld 末地生成在 Rust 中

警告:默认情况下,您需要 rust 1.47.0+,因为我使用了 const fn。但如果你想使用其他版本,只需在构建/测试/运行命令中传递 --no-default-features 或作为依赖项 default-features = false。如果您禁用默认功能,因为使用了非穷尽性 memchr #45394,MSRV 是 1.40.0。

您可以在 C、C++、Rust 和 Python 中运行此程序。

第一件事:获取 rust:https://rustup.rs

第二件事:运行 Cargo:cargo build --release

第三件事:安装 python 绑定(可选):python3 setup.py install --user 然后,您可以在 Python 中像往常一样使用它

from minecraft_end_gen_rs import EndGen,create_new_end,get_biome,get_biome_2d,EndBiomes
from ctypes import *
end_gen:POINTER(EndGen)=create_new_end(1551515151585454)
assert get_biome(end_gen,10000,251,10000)==EndBiomes.SmallEndIslands

第四件事:使用 Rust

let mut gen: EndGen = EndGen::new(seed);
let biome=gen.get_final_biome(x, 251, z);

第五件事:使用 C/C++:您在 target/release 中有一个共享库 (.so/.dll) 和在 target 中的一个头文件,您有三个函数,就像使用其他任何函数一样使用它们 ;) see example.c

struct EndGen *create_new_end(uint64_t seed);

EndBiomes get_biome_2d(struct EndGen *end_gen, int32_t x, int32_t z);

EndBiomes get_biome(struct EndGen *end_gen, int32_t x, int32_t y, int32_t z);

第六件事(您还可以在 go、ruby 等中运行它,Rust/cbindings 真棒!)

依赖项

~0.5–2MB
~30K SLoC