Skip to content

v0.5.0

Compare
Choose a tag to compare
@UgnilJoZ UgnilJoZ released this 29 Dec 18:02
· 20 commits to main since this release
v0.5.0
93ebb75

Public API changes

  • Add the ability to modify map by using MapData::set_mapblock_data
  • Add VoxelManip which makes handling individual nodes comfortable (reading and writing)
  • Add full examples
  • Rename World::new to World::open to reduce ambiguity
  • Improve documentation
  • Replace itemstring type in Node by Vec<u8> to eliminate lossy conversion
  • Add NodeVar struct
  • Let NodeMetadata use the Position struct instead of an integer
  • Complete NodeMetadata by adding an inventory member
  • Let NodeTimer use the Position struct instead of an integer
  • Complete MapBlock decoding
  • Implement MapBlock serialization
  • Replace dimension parameters of MapBlock::get_node_at by position parameter
  • Add node_timers member and get_content_id, get_or_create_content_id, set_content, set_param1, set_param2, and content_names methods to MapBlock
  • Change member of MapDataError::MapBlockNonexistent to Position instead of i64
  • Add new error variants: MapBlockError::UnsupportedNodeMetadataVersion, MapDataError::IoError
  • Add read_only parameter to MapData::from_sqlite_file
  • Let MapData::all_mapblock_positions return a Stream instead of a Vec
  • Position: Implement useful traits like Add and Sub and add new, mapblock_at, and split_at_block methods
  • Add World::create_sqlite method to build a new Sqlite world
  • Add get_map_data_backend, get_mutable_map_data, get_voxel_manip to World struct

All changes

v0.4.0...v0.5.0