func (c *Launcher) Run(opts *instances.LaunchOptions) error {
	fmt.Println("│")
	fmt.Println(
		lipgloss.JoinHorizontal(
			0.5,
			gchalk.Hex("#7a563b")("│"+"\n"+"┕"),
			commands.StyleGrass.Render(commands.Emoji("⛏  ")+"Launching Minecraft"),
		),
	)
	switch {
	case opts.LaunchManifest == nil:
		opts.LaunchManifest = c.LaunchManifest
	case !opts.Server:
		opts.Server = c.ServerMode
	}
	if c.UseSystemJava {
		opts.Java = "java"
	} else {
		opts.Java = c.java.Bin()
	}
	cmd, err := c.Instance.BuildLaunchCmd(opts)
	if err != nil {
		return err
	}
	c.Cmd = cmd
	err = func() error {
		runtime.GC()
		if err := cmd.Start(); err != nil {
			return err
		}
		if err := cmd.Wait(); err != nil {
			return err
		}
		return nil
	}()
	if cmd.ProcessState.ExitCode() == 130 || cmd.ProcessState.ExitCode() == 0 {
		fmt.Println("\nMinecraft was stopped normally")
		return nil
	}
	if err != nil {
		return err
	}
	if len(c.originalServerProps) != 0 {
		settingsFile := filepath.Join(c.Instance.McDir(), "server.properties")
		ioutil.WriteFile(settingsFile, c.originalServerProps, 0644)
	}
	return c.HandleCrash()
}
Run will launch the instance with the provided launchOptions
and will set some fallback values
package launcher
import (
	"fmt"
	"io/ioutil"
	"path/filepath"
	"runtime"
	"github.com/charmbracelet/lipgloss"
	"github.com/jwalton/gchalk"
	"github.com/minepkg/minepkg/internals/commands"
	"github.com/minepkg/minepkg/internals/instances"
)