summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorraven <citrons@mondecitronne.com>2026-03-22 00:47:00 -0500
committerraven <citrons@mondecitronne.com>2026-03-22 00:47:00 -0500
commitad4b649f0718b1994feb332741a8cb098e25e09c (patch)
treeb4703b16997f627a635f1b53d0a594eabdb75af5
parent56aca59c6f75b35f5fb85388b409b8e49ced0b3e (diff)
debug generation type
-rw-r--r--server/commands.go4
-rw-r--r--server/level.go17
2 files changed, 20 insertions, 1 deletions
diff --git a/server/commands.go b/server/commands.go
index 804be0d..a7783e7 100644
--- a/server/commands.go
+++ b/server/commands.go
@@ -169,7 +169,7 @@ var commands = map[string]commandHandler {
return usage("createLevel")
}
switch genType {
- case "flat", "empty":
+ case "flat", "empty", "debug":
default:
return "Unknown generation type: " + genType
}
@@ -181,6 +181,8 @@ var commands = map[string]commandHandler {
lvl.generateFlat()
case "empty":
lvl.generateEmpty()
+ case "debug":
+ lvl.generateDebug()
}
ctx.sender.OnCommandOutput(ctx.server,
fmt.Sprintf("Generated level id %d.", id),
diff --git a/server/level.go b/server/level.go
index f34bc89..95f04ff 100644
--- a/server/level.go
+++ b/server/level.go
@@ -199,6 +199,23 @@ func (l *level) generateEmpty() {
l.loadingState = levelLoaded
}
+func (l *level) generateDebug() {
+ if l.levelInfo.Size.X < 16 || l.levelInfo.Size.Z < 16 {
+ return
+ }
+ if l.levelInfo.Size.Y < 1 {
+ return
+ }
+ var p blockPos
+ for p.Z = 0; p.Z < 16; p.Z++ {
+ for p.X = 0; p.X < 16; p.X++ {
+ l.setBlock(p, blockType(p.X + p.Z * 16))
+ }
+ }
+ l.save(nil)
+ l.loadingState = levelLoaded
+}
+
func (l *level) Save(from phony.Actor, done func()) {
l.Act(from, func() {
l.save(func() {