mcdb

package
v0.6.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 21, 2022 License: MIT Imports: 18 Imported by: 19

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Provider

type Provider struct {
	// contains filtered or unexported fields
}

Provider implements a world provider for the Minecraft world format, which is based on a leveldb database.

func New

func New(dir string, d world.Dimension, compression opt.Compression) (*Provider, error)

New creates a new provider reading and writing from/to files under the path passed. If a world is present at the path, New will parse its data and initialise the world with it. If the data cannot be parsed, an error is returned. A compression type may be passed which will be used for the compression of new blocks written to the database. This will only influence the compression. Decompression of the database will happen based on IDs found in the compressed blocks.

func (*Provider) Close

func (p *Provider) Close() error

Close closes the provider, saving any file that might need to be saved, such as the level.dat.

func (*Provider) LoadBlockNBT

func (p *Provider) LoadBlockNBT(position world.ChunkPos) ([]map[string]any, error)

LoadBlockNBT loads all block entities from the chunk position passed.

func (*Provider) LoadChunk

func (p *Provider) LoadChunk(position world.ChunkPos) (c *chunk.Chunk, exists bool, err error)

LoadChunk loads a chunk at the position passed from the leveldb database. If it doesn't exist, exists is false. If an error is returned, exists is always assumed to be true.

func (*Provider) LoadEntities

func (p *Provider) LoadEntities(pos world.ChunkPos) ([]world.SaveableEntity, error)

LoadEntities loads all entities from the chunk position passed.

func (*Provider) SaveBlockNBT

func (p *Provider) SaveBlockNBT(position world.ChunkPos, data []map[string]any) error

SaveBlockNBT saves all block NBT data to the chunk position passed.

func (*Provider) SaveChunk

func (p *Provider) SaveChunk(position world.ChunkPos, c *chunk.Chunk) error

SaveChunk saves a chunk at the position passed to the leveldb database. Its version is written as the version in the chunkVersion constant.

func (*Provider) SaveEntities

func (p *Provider) SaveEntities(pos world.ChunkPos, entities []world.SaveableEntity) error

SaveEntities saves all entities to the chunk position passed.

func (*Provider) SaveSettings added in v0.1.0

func (p *Provider) SaveSettings(s *world.Settings)

SaveSettings saves the world.Settings passed to the level.dat.

func (*Provider) Settings added in v0.1.0

func (p *Provider) Settings(s *world.Settings)

Settings returns the world.Settings of the world loaded by the Provider.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL