MCPcopy Index your code
hub / github.com/BreakingLead/blockworld

github.com/BreakingLead/blockworld @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
139 symbols 227 edges 33 files 59 documented · 42%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

The development is still in progress.

We won't give up this project but the maintainer is busy at another project recently.

Blockworld

(Currently Indev & Not Playable)

TL;DR: Blockworld is a modern Minecraft (Java Version) implementation which has better performance, and minecraft modders can easily port their mods into this minecraft implementation.

Todo List:

  • Graphics
  • [x] Antialias
  • [x] Ambient Occlusion
  • [x] Mipmap
  • [x] Shader
  • Engine
  • [x] ECS Engine
  • [ ] Command Parser
  • [ ] Script Language
  • [x] Atlas Generator
  • [ ] GUI System
  • [ ] Save File (De)serialization
  • [ ] Map Generation

Contributing

We basically organize the code based on the same structure as minecraft. And keep the code extremely clean and readable.

Every big module will contain a README.md file to explain the purpose of the module.

It's different from rust's module documentation, which the readme is more like a brief introduction to the motivation of the module, in order to attract more contributors.

What does Blockworld do

  • Provide better minecraft experience for players.
  • Modular design, which means you can use Blockworld as a voxel game engine. Official updates will be provide like a mod (1.20 mod etc.)
  • Provide easy api to mod the game.
  • Looks like minecraft. So it's not like what minetest did.
  • No code obfuscation: everyone can modify the source code.
  • Port your minecraft world into Blockworld easily.
  • Fix some major bugs in minecraft. However some bugs which is useful(like quasi-connection) won't be deleted.
  • Multi-threading.
  • Cross-platform.
  • Based on Minecraft 1.16
  • Be able to write mods in WASM.

What doesn't Blockworld do

  • Use the same data format(like named binary tag) as minecraft. However we will provide a converter
  • Reimplement every detail of minecraft.
  • Follow the offical update of minecraft. We think the content of 1.12.2 is enough. But the content of higher version of minecraft may be maintained by mods.

Current Progress:

WIP in map generation

Minecraft is Dying

Minecraft, as a popular game, has been loved for many years. Its huge community created plenty of various mods and gameplay. Ironically, mojang seems not to know that not everybody likes their tedious updates -- axolotls, suspicious sands, wolves. Do we really need them? Isn't mods like Create better than offical updates? Minecraft should be like lego bricks, like a playground, like a game framework, rather than a boring RPG game. If it has to be a RPG game, it should be done by mods like twilight forest.

That's why I decided to make a new minecraft, which is suckless.

Our goal is giving the ability of making new gameplays.

Extension points exported contracts — how you extend this code

PackSource (Interface)
A single source of game assets. Equivalent to Minecraft's `PackResources` interface. Implementations: `FilesystemSource [2 …
blockworld-client/resource/mod.rs
WorldAccess (Interface)
Read-only world access with write operations gated behind `&mut self`. Coordinates come in two flavors: - **chunk coord [1 …
blockworld-server/src/world/chunk_access.rs
HasIdentifier (Interface)
(no doc) [1 implementers]
blockworld-utils/src/resource/resource_location.rs

Core symbols most depended-on inside this repo

is_key_pressing
called by 6
blockworld-client/renderer/input_manager.rs
to_string
called by 6
blockworld-utils/src/resource/resource_location.rs
set_blockid
called by 5
blockworld-server/src/world/chunk.rs
hash
called by 4
blockworld-server/src/world/chunk_generator.rs
world_blockpos_to_chunkpos
called by 4
blockworld-server/src/world/chunk.rs
get
called by 4
blockworld-client/resource/mod.rs
iter
called by 3
blockworld-server/src/block/block_face_direction.rs
add_source
called by 3
blockworld-client/resource/mod.rs

Shape

Method 91
Class 25
Function 17
Enum 3
Interface 3

Languages

Rust100%

Modules by API surface

blockworld-server/src/world/chunk_map.rs14 symbols
blockworld-client/renderer/camera.rs12 symbols
blockworld-client/renderer/atlas_image.rs11 symbols
blockworld-server/src/world/chunk.rs10 symbols
blockworld-client/resource/mod.rs10 symbols
blockworld-utils/src/resource/resource_location.rs9 symbols
blockworld-client/renderer/world_renderer.rs8 symbols
blockworld-client/renderer/meshing/meshing_manager.rs8 symbols
blockworld-utils/src/registry.rs7 symbols
blockworld-server/src/world/chunk_generator.rs6 symbols
blockworld-client/renderer/input_manager.rs6 symbols
blockworld-client/renderer/window_init.rs5 symbols

For agents

$ claude mcp add blockworld \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact