Beispiel #1
0
func nextLogoText() {
	lines := make([]string, len(stevenLogoLines))
	copy(lines, stevenLogoLines)

	rs, _ := resource.OpenAll("minecraft", "texts/splashes.txt")
	for _, r := range rs {
		func() {
			defer r.Close()
			s := bufio.NewScanner(r)
			for s.Scan() {
				line := s.Text()
				if line != "" && !strings.ContainsRune(line, '§') {
					switch line {
					case "Now Java 6!":
						line = "Now Go!"
					case "OpenGL 2.1 (if supported)!":
						line = "OpenGL 3.2!"
					}
					lines = append(lines, line)
				}
			}
		}()
	}

	logoText = lines[r.Intn(len(lines))]
}
Beispiel #2
0
func loadSoundData() {
	v := assets.Objects["minecraft/sounds.json"]
	loc := fmt.Sprintf("./resources/%s", hashPath(v.Hash))
	f, err := os.Open(loc)
	if err != nil {
		panic(err)
	}
	snds, _ := resource.OpenAll("minecraft", "sounds.json")
	snds = append([]io.ReadCloser{f}, snds...)
	for _, s := range snds {
		func() {
			defer s.Close()
			data := map[string]soundData{}
			err := json.NewDecoder(s).Decode(&data)
			if err != nil {
				panic(err)
			}
			for k, v := range data {
				soundInfo[k] = v
			}
		}()
	}

	for k, v := range soundInfo {
		soundInfo[k] = flattenSoundData(v)
	}
}
Beispiel #3
0
func nextLogoTexture() {
	var textures []string
	rs, _ := resource.OpenAll("steven", "logo/textures.txt")
	for _, r := range rs {
		func() {
			defer r.Close()
			s := bufio.NewScanner(r)
			for s.Scan() {
				texture := s.Text()
				textures = append(textures, texture)
			}
		}()
	}

	if len(textures) > 0 {
		logoTargetTexture = textures[r.Intn(len(textures))]
	}
}