1
0
Fork
You've already forked MinecraftWorldUtils
0
No description
  • Zig 100%
2025年12月08日 22:30:53 +07:00
.gitignore Ignore output test files 2025年12月04日 00:02:16 +07:00
build.zig core: don't change chunks not fully generated 2025年12月08日 22:30:53 +07:00
build.zig.zon core: don't change chunks not fully generated 2025年12月08日 22:30:53 +07:00
CountingWriter.zig Add CountingWriter implementation by silversquirl 2025年12月03日 23:59:44 +07:00
LICENSE license: use the MIT license 2025年12月05日 18:48:09 +07:00
main.zig core: don't change chunks not fully generated 2025年12月08日 22:30:53 +07:00
Nbt.zig Cleanup unused code and match error name to other instance 2025年12月05日 00:00:34 +07:00
README.md docs: add basic readme file 2025年12月05日 18:18:24 +07:00
Region.zig Patchwork fix to stop malformed files from halting the program 2025年12月05日 00:02:01 +07:00

Minecraft World Utils

A command line tool for Minecraft worlds

Warning

This program has not been rigorously tested and may corrupt your world. Remember to beckup before proceeding.

Usage

The general usage is:

./MinecraftWorldUtils [options] <path/to/world/folder>

Use -v or --verbose to include more information

Note

Currently, the only feature implemented is to remove every chunk's sky light and Starlight data, as well as setting the chunk's Status to light in order to trigger re-lighting to occur,

More features and flexibility hopefully coming in the future

Installation

Grab the latest release here based on your target platform

Alternatively, compile it yourself with the steps below

Compiling

This tool is currently built using Zig 0.16.0-dev.1484+d0ba6642b, get it yourself from the official website, your system's package manager, or using Zig Version Manager.

# Clone this repository locally
git clone https://codeberg.org/Leapofod/MinecraftWorldUtils
# Or download the source code and unpack it somewhere
# Change into the project folder
cd MinecraftWorldUtils/
# With zig in your system PATH, simply run build
zig build

TODO

  • Write tests for the NBT parser
  • Write tests for the MCR/MCA parser
  • Add a dry run option
  • Separate functionality into proper subcommands
  • Create a dynamic action parser for more complex commands

Special Thanks