diff options
| author | raven <citrons@mondecitronne.com> | 2026-03-24 12:46:46 -0500 |
|---|---|---|
| committer | raven <citrons@mondecitronne.com> | 2026-03-24 12:46:46 -0500 |
| commit | 91271b10a48018db6d90dffc7495a17b80813f61 (patch) | |
| tree | 808a2829ddfbe42bde64c701f166af670fa0167c /server/commands.go | |
| parent | 7ca8228d06b3cd62e38ac85e85286ab49e528741 (diff) | |
generate level asynchronously
Diffstat (limited to 'server/commands.go')
| -rw-r--r-- | server/commands.go | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/server/commands.go b/server/commands.go index a7783e7..a91b206 100644 --- a/server/commands.go +++ b/server/commands.go @@ -169,25 +169,27 @@ var commands = map[string]commandHandler { return usage("createLevel") } switch genType { - case "flat", "empty", "debug": + case "flat", "empty", "sphere", "debug": default: return "Unknown generation type: " + genType } id, lvl := ctx.server.newLevel(levelInfo {Size: size}) - lvl.Act(nil, func() { - ctx.sender.OnCommandOutput(ctx.server, "Creating level...") + ctx.sender.OnCommandOutput(ctx.server, "Generating level...") + go func() { switch genType { case "flat": lvl.generateFlat() case "empty": lvl.generateEmpty() + case "sphere": + lvl.generateSphere() case "debug": lvl.generateDebug() } ctx.sender.OnCommandOutput(ctx.server, - fmt.Sprintf("Generated level id %d.", id), + fmt.Sprintf("Generated level ID %d.", id), ) - }) + }() switch pl := ctx.sender.(type) { case *player: pl.ChangeLevel(ctx.server, id, entityPos { |
