HeatonVoxel 0.1.0

dotnet add package HeatonVoxel --version 0.1.0
                    
NuGet\Install-Package HeatonVoxel -Version 0.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="HeatonVoxel" Version="0.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="HeatonVoxel" Version="0.1.0" />
                    
Directory.Packages.props
<PackageReference Include="HeatonVoxel" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add HeatonVoxel --version 0.1.0
                    
#r "nuget: HeatonVoxel, 0.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package HeatonVoxel@0.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=HeatonVoxel&version=0.1.0
                    
Install as a Cake Addin
#tool nuget:?package=HeatonVoxel&version=0.1.0
                    
Install as a Cake Tool

HeatonVoxel

NuGet .NET tests .NET coverage License

Read and edit Minecraft Java Edition worlds from .NET and Unity.

Open a save, read any block, change it, and write the world back the way the game would have made it: a door placed as two halves, a fence joined to its neighbors, a stair set in water waterlogged. Move builds in and out as WorldEdit .schem, Litematica .litematic and vanilla structure files, change the game mode, difficulty, weather and time of day, and undo an edit. Everything you didn't touch is written back byte for byte, and saving refuses while Minecraft has the world open. It has no package dependencies and targets netstandard2.1, so Unity can use it directly.

It is the C# twin of the Python heaton-voxel library. One shared test corpus holds them to the same answers, so a save edited in either comes out identical, byte for byte.

using System;
using HeatonVoxel.World;

var save = MinecraftSave.Load("/path/to/saves/MyWorld");

var (px, _, pz) = save.PlayerPosition();
int x = (int)Math.Floor(px), z = (int)Math.Floor(pz);
int ground = save.SurfaceY(x, z) ?? throw new InvalidOperationException("no ground here");
Console.WriteLine(save.GetBlock(x, ground, z));          // e.g. minecraft:grass_block[snowy=false]

// Placed as the game places an item: both halves, connections, waterlogging.
save.PlaceBlock(x, ground + 1, z, "minecraft:oak_fence");
save.ResetLighting((x, ground, z), (x, ground + 1, z));
save.RebuildHeightmaps((x, ground, z), (x, ground + 1, z));

save.Save();   // refuses while Minecraft has the world open

Scope. It reads and writes the current chunk format (Minecraft 1.18 and later), reads chunks saved by 1.13 to 1.17.1 but refuses to write them, and refuses anything older with an error that says why. It reads Java Edition worlds only: Bedrock worlds are a different format.

Documentation, the Python library and the conformance corpus are at https://github.com/jeffheaton/heaton-voxel.

Licensed under the Apache License 2.0.

Not an official Minecraft product. Not approved by or associated with Mojang or Microsoft.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.1

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0 50 11/8/2026