Files
mc/server/world/generator.go
T

27 lines
1011 B
Go
Raw Normal View History

2026-07-09 08:33:57 +08:00
package world
import (
"github.com/df-mc/dragonfly/server/block/cube"
"github.com/df-mc/dragonfly/server/world/chunk"
)
// Generator handles the generating of newly created chunks. Worlds have one generator which is used to
// generate chunks when the provider of the world cannot find a chunk at a given chunk position.
type Generator interface {
// GenerateChunk generates a chunk at a chunk position passed. The generator sets blocks in the chunk that
// is passed to the method.
GenerateChunk(pos ChunkPos, chunk *chunk.Chunk)
// DefaultSpawn returns the default spawn position for worlds using this generator in the dimension passed.
DefaultSpawn(dim Dimension) cube.Pos
}
// NopGenerator is the default generator a world. It places no blocks in the world which results in a void
// world.
type NopGenerator struct{}
// GenerateChunk ...
func (NopGenerator) GenerateChunk(ChunkPos, *chunk.Chunk) {}
// DefaultSpawn ...
func (NopGenerator) DefaultSpawn(Dimension) cube.Pos { return cube.Pos{} }