chore: initial project structure

This commit is contained in:
2026-05-23 17:53:50 +03:00
commit 320f009658
15 changed files with 86 additions and 0 deletions

21
.gitignore vendored Normal file
View File

@@ -0,0 +1,21 @@
# Binaries
*.exe
*.dll
*.so
*.dylib
*.test
*.out
# Go
vendor/
go.sum
# IDE
.idea/
.vscode/
*.swp
*.swo
# OS
.DS_Store
Thumbs.db

15
README.md Normal file
View File

@@ -0,0 +1,15 @@
# MrixsCraft Launcher
Minecraft лаунчер на Go с GUI на Fyne.
## Сборка
```bash
go build -o mrixscraft-launcher ./cmd/launcher
```
## Запуск
```bash
go run ./cmd/launcher
```

23
cmd/launcher/main.go Normal file
View File

@@ -0,0 +1,23 @@
package main
import (
"fmt"
"fyne.io/fyne/v2/app"
"fyne.io/fyne/v2/container"
"fyne.io/fyne/v2/widget"
)
func main() {
fmt.Println("MrixsCraft Launcher starting...")
a := app.New()
w := a.NewWindow("MrixsCraft Launcher")
w.Resize(fyne.NewSize(800, 600))
w.SetContent(container.NewVBox(
widget.NewLabel("MrixsCraft Launcher"),
))
w.ShowAndRun()
}

5
go.mod Normal file
View File

@@ -0,0 +1,5 @@
module github.com/Mrixs/MrixsCraft-launcher
go 1.22
require fyne.io/fyne/v2 v2.4.5

2
internal/auth/auth.go Normal file
View File

@@ -0,0 +1,2 @@
// package auth handles Yggdrasil authentication (login, refresh, validate).
package auth

View File

@@ -0,0 +1,2 @@
// package config manages launcher configuration (launcher.json, system paths).
package config

View File

@@ -0,0 +1,2 @@
// package fetcher handles HTTP downloads and SHA-1 verification.
package fetcher

2
internal/java/java.go Normal file
View File

@@ -0,0 +1,2 @@
// package java manages portable JRE downloads and detection.
package java

View File

@@ -0,0 +1,2 @@
// package launch handles Minecraft process launching (argument interpolation, classpath).
package launch

View File

@@ -0,0 +1,2 @@
// package selfupdate handles launcher auto-updates via go-selfupdate.
package selfupdate

View File

@@ -0,0 +1,2 @@
// package components provides reusable Fyne widgets (avatar, progress bar).
package components

View File

@@ -0,0 +1,2 @@
// package screens implements application screens (login, main menu, settings).
package screens

View File

@@ -0,0 +1,2 @@
// package theme defines the custom Fyne theme (Minecraft-style colors, fonts).
package theme

2
internal/ui/ui.go Normal file
View File

@@ -0,0 +1,2 @@
// package ui contains Fyne GUI code (main window, theme, navigation).
package ui

2
pkg/utils/utils.go Normal file
View File

@@ -0,0 +1,2 @@
// package utils provides shared utility functions (SHA-1, ZIP, etc.).
package utils