package serverapi import "fmt" // Weather described the weather of a Minecraft World type Weather int const ( // Clear weather WeatherClear Weather = iota // Raining/Snowing WeatherStorm // Thundering WeatherThunder ) // String is human-friendly Weather func (w Weather) String() string { switch w { case WeatherClear: return "clear" case WeatherStorm: return "storm" case WeatherThunder: return "thunder" default: return "unknown" } } // World is a Minecraft world type World struct { Name string `json:"name"` Weather Weather `json:"weather"` Time int64 `json:"time"` FullTime int64 `json:"full_time"` } // TimeHours returns Time in hours func (w *World) TimeHours() int64 { return w.Time / 1000 } // FullTimeHours returns FullTime in hours func (w *World) FullTimeHours() int64 { return w.FullTime / 1000 } // World returns a single World from a ServerAPI instance func (c *Client) World(name string) (world *World, err error) { return world, c.jsonGET(fmt.Sprintf("%s/worlds/%s", c.endpoint, name), &world) } // Worlds returns a list of World from a ServerAPI instance func (c *Client) Worlds() (worlds Worlds, err error) { return worlds, c.jsonGET(fmt.Sprintf("%s/worlds", c.endpoint), &worlds) }