Files
BedrockFetch/main.go
Matheus Sampaio Queiroga 0f2865d993 Migrate to golang
Signed-off-by: Matheus Sampaio Queiroga <srherobrine20@gmail.com>
2024-04-04 00:23:10 -03:00

68 lines
1.3 KiB
Go

package main
import (
"fmt"
"log"
"time"
"sirherobrine23.org/minecraft-server/bedrockfetch/bds"
)
func main() {
files, err := bds.MinecraftFetch()
if err != nil {
log.Fatalln(err)
}
for version, versionTargets := range files {
if _, exist := bds.Versions[version]; exist {
fmt.Printf("%s ared exist, skip\n", version)
continue
}
release := bds.BedrockVersions{
Version: version,
ReleaseType: "release",
DateRelease: time.Time{},
Targets: []bds.BedrockVersionsTarget{},
}
if versionTargets[0].IsPreview {
release.ReleaseType = "preview"
}
fmt.Printf("Minecraft server, version: %s\n", version)
for _, target := range versionTargets {
targetRelease := bds.BedrockVersionsTarget{
ZipFile: target.FileUrl,
NodeArch: "x64",
NodePlatform: "unknown",
}
if target.Platform == "linux" {
targetRelease.NodePlatform = "linux"
} else if target.Platform == "win" {
targetRelease.NodePlatform = "win32"
}
// Download file and convert
err = targetRelease.Download()
if err != nil {
log.Fatalln(err)
}
release.Targets = append(release.Targets, targetRelease)
}
// Upload files to release
err = release.UploadRelease()
if err != nil {
log.Fatalln(err)
}
// Add to global versions
bds.AddNewVersion(release)
}
bds.SaveLocalVersions()
}