package server import ( "log" "mc-tool/docker" "os" "path/filepath" "github.com/spf13/cobra" ) func New(cmd *cobra.Command, args []string) { dir := args[0] if err := os.Mkdir(dir, 0755); err != nil { log.Fatal(err) } if err := os.Chdir(dir); err != nil { log.Fatal(err) } compose := docker.NewCompose(dir) if compose.Type != docker.VANILLA.String() { if err := os.MkdirAll("data/mods", 0755); err != nil { log.Fatal(err) } if err := os.MkdirAll("data/config", 0755); err != nil { log.Fatal(err) } } if err := os.MkdirAll("data/world", 0755); err != nil { log.Fatal(err) } if err := writeFile("docker-compose.yml", compose.String()); err != nil { log.Fatal(err) } } func writeFile(path string, data string) error { if err := os.MkdirAll(filepath.Dir(path), 0o755); err != nil { return err } return os.WriteFile(path, []byte(data), 0644) }