minecraft_end_generation 0.3.2

The minecraft end generation implemented in rust
docs.rs failed to build minecraft_end_generation-0.3.2
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: minecraft_end_generation-0.2.0

Minecraft End Generation in Rust

Warning by default you need rust 1.47.0+ since I use const fn but if you want to use another version just pass --no-default-features on your build/test/run command or as a dependency do default-features = false. The MSRV is 1.40.0 if you disable default-features because of the use non exhaustive memchr #45394.

You can run this in C, C++, Rust and Python.

First thing: Get rust: https://rustup.rs

Second thing: Run Cargo: cargo build --release

Third thing: Install python bindings (optional): python3 setup.py install --user You can then use it in python as usual:

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

Fourth thing: Use Rust:

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

Fifth thing: Use C/C++: You have a shared library (.so/.dll) in target/release and a header file in target, you have three functions, just use them like any other functions ;) 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);

Six thing (you can also run that in go, ruby and much more, rust/cbindings are awesome !)