Documentation
¶
Overview ¶
Package launcher provides the necessary functions to start the game.
Index ¶
- func ConsoleRunner(cmd *exec.Cmd) error
- func IsInstanceExist(id string) bool
- func Launch(launchEnv LaunchEnvironment, runner Runner) error
- func RemoveInstance(id string) error
- type AssetsResolvedEvent
- type DownloadingEvent
- type EventWatcher
- type Instance
- type InstanceConfig
- type InstanceOptions
- type LaunchEnvironment
- type LaunchOptions
- type LibrariesResolvedEvent
- type Loader
- type MetadataResolvedEvent
- type Runner
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConsoleRunner ¶
An ConsoleRunner is an implementation of Runner which logs game output to the console.
func IsInstanceExist ¶
IsInstanceExist reports whether an instance with the specified ID exists.
func Launch ¶
func Launch(launchEnv LaunchEnvironment, runner Runner) error
Launch starts a LaunchEnvironment with the specified runner.
The Java executable is checked and the classpath and command arguments are finalized.
func RemoveInstance ¶
RemoveInstance removes the instance with the specified ID.
Types ¶
type AssetsResolvedEvent ¶
type AssetsResolvedEvent struct {
Total int
}
AssetsResolvedEvent is called when all game assets have been identified and filtered.
type DownloadingEvent ¶
DownloadingEvent is called when a download has progressed.
type EventWatcher ¶
type EventWatcher func(event any)
An EventWatcher is a controller that can handle multiple types of events.
type Instance ¶
type Instance struct {
Name string `json:"-"`
GameVersion string `json:"game_version"`
Loader Loader `json:"mod_loader"`
LoaderVersion string `json:"mod_loader_version,omitempty"`
Config InstanceConfig `json:"config"`
}
An Instance represents a full installation of Minecraft and its information.
func CreateInstance ¶
func CreateInstance(options InstanceOptions) (Instance, error)
CreateInstance creates a new instance with the specified options.
func FetchAllInstances ¶ added in v1.1.0
FetchAllInstances retrieves all valid instances within env.InstancesDir.
func FetchInstance ¶ added in v1.1.0
FetchInstance retrieves the instance with the specified ID.
func (*Instance) WriteConfig ¶ added in v1.1.0
WriteConfig marshals inst and writes it to the instance configuration file. This is used to save the instance configuration.
The Name field is ignored, as it is based on the instance's directory.
type InstanceConfig ¶
type InstanceConfig struct {
WindowResolution struct {
Width int `json:"width"`
Height int `json:"height"`
} `json:"resolution"`
Java string `json:"java"`
JavaArgs string `json:"java_args"`
CustomJar string `json:"custom_jar"`
MinMemory int `json:"min_memory"`
MaxMemory int `json:"max_memory"`
}
InstanceConfig represents the configurable values of an Instance.
type InstanceOptions ¶
type InstanceOptions struct {
Name string
GameVersion string
Loader Loader
LoaderVersion string
Config InstanceConfig
}
InstanceOptions are options used to designate an instance's version and other parameters on creation.
type LaunchEnvironment ¶ added in v1.1.0
type LaunchEnvironment struct {
GameDir string
Java string
MainClass string
Classpath []string
JavaArgs []string
GameArgs []string
}
A LaunchEnvironment represents the information needed to start the game.
func Prepare ¶
func Prepare(inst Instance, options LaunchOptions, watcher EventWatcher) (LaunchEnvironment, error)
Prepare prepares the instance to be launched, returning a LaunchEnvironment, with the provided options and sends events to watcher.
type LaunchOptions ¶ added in v1.2.0
type LaunchOptions struct {
Session auth.Session
InstanceConfig
QuickPlayServer string
QuickPlayWorld string
Demo bool
DisableMultiplayer bool
DisableChat bool
// contains filtered or unexported fields
}
LaunchOptions represents configuration options when preparing an instance to be launched.
type LibrariesResolvedEvent ¶
type LibrariesResolvedEvent struct {
Total int
}
LibrariesResolvedEvent is called when all game libraries have been identified and filtered.
type MetadataResolvedEvent ¶ added in v1.1.0
type MetadataResolvedEvent struct{}
MetadataResolvedEvent is called when all metadata has been retrieved