Skip to content

Instantly share code, notes, and snippets.

@ejm
Last active March 23, 2022 20:53
Show Gist options
  • Select an option

  • Save ejm/77a6f4f259efa7e32c346531510bc415 to your computer and use it in GitHub Desktop.

Select an option

Save ejm/77a6f4f259efa7e32c346531510bc415 to your computer and use it in GitHub Desktop.
// (c) 2022 Evan J. Markowitz (ejm)
// Licensed under The MIT License
package main
import (
"compress/gzip"
"encoding/json"
"fmt"
"log"
"os"
"github.com/Tnze/go-mc/nbt"
)
func main() {
if len(os.Args) != 2 {
fmt.Fprintf(os.Stderr, "Usage: %s <file>", os.Args[0])
os.Exit(1)
}
file, err := os.Open(os.Args[1])
if err != nil {
log.Fatal(err)
}
gz, err := gzip.NewReader(file)
if err != nil {
log.Fatal(err)
}
defer file.Close()
defer gz.Close()
var out map[string]interface{}
if _, err := nbt.NewDecoder(gz).Decode(&out); err != nil {
log.Fatal(err)
}
json.NewEncoder(os.Stdout).Encode(out)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment