Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework of the World crate! #69

Open
wants to merge 15 commits into
base: proto_rework
Choose a base branch
from

Conversation

akashic-records-of-the-abyss

This is a significant pull request, so I apologize in advance.

I am currently working on a rewrite of the World crate in BedrockRS to enhance its features and modularity. While this PR is still a work in progress and there are several changes I plan to make, I would greatly appreciate input from the maintainers regarding the code.

Copy link
Member

@theaddonn theaddonn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems very interesting! But I do have some first thoughts...

crates/shared/src/world/dimension.rs Outdated Show resolved Hide resolved
crates/world/src/level/chunk.rs Show resolved Hide resolved
@akashic-records-of-the-abyss akashic-records-of-the-abyss marked this pull request as ready for review December 6, 2024 20:28
@akashic-records-of-the-abyss
Copy link
Author

I would have liked to implement biomes before i made this PR ready but i have sadly ran low on time and motivation 😅. This is a fully stable implementation to interact with the level. The code is also quite generic; this may lead to generic hell but the library provides powerful default types (at least in my opinion) so users should never have to interact with generic hell!

.gitignore Show resolved Hide resolved
crates/world/src/level/biome.rs Outdated Show resolved Hide resolved
crates/world/src/level/file_interface.rs Show resolved Hide resolved
crates/world/src/level/file_interface.rs Show resolved Hide resolved
crates/world/src/types/binary.rs Show resolved Hide resolved
crates/world/Cargo.toml Outdated Show resolved Hide resolved
crates/world/Cargo.toml Outdated Show resolved Hide resolved
.gitignore Show resolved Hide resolved
crates/world/src/level/db_interface/config.rs Outdated Show resolved Hide resolved
crates/world/src/types/binary.rs Show resolved Hide resolved
crates/world/src/types/buffer_slide.rs Outdated Show resolved Hide resolved
crates/world/tests/api_test.rs Outdated Show resolved Hide resolved
let wld_path = std::fs::read_to_string("world_path.txt").ok();
if wld_path.is_none() {
println!(
"Skipping Full Test, Add \"world_path.txt\" next to the Cargo.toml with a world path!"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not just upload an entire world to github for the sake of proper testing?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I dont really like the idea of having a massive binary file pushed into the github. It also makes testing the codebase easier.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Its commin practice to upload such files if needed for testing, so dw.. example: nbtx

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants