-
Автор темы
- #1
- Выберите загрузчик игры
- Прочие моды
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Привет! мой второй код для югейма, музыка работает в 1 модуль а не в 2 в 3 как у других.
Все звуки добавляйте с расширением .wav
Можете добавить еще пару звуков чтобы переключать, я делал только с 1
УДАЧИ
Пожалуйста, авторизуйтесь для просмотра ссылки.
Код:
package im.expensive.functions.impl.misc;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.button.Button;
import net.minecraft.util.text.StringTextComponent;
import javax.sound.sampled.*;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@FunctionRegister(name = "MusicPlayer", type = Category.Misc)
public class MusicPlayer extends Function {
private final Minecraft mc = Minecraft.getInstance();
private Clip clip;
private List<File> musicFiles = new ArrayList<>();
private int currentTrackIndex = -1;
private float volume = 1.0f;
public MusicPlayer() {
super();
}
@Override
public void onEnable() {
super.onEnable();
mc.displayGuiScreen(new MusicMenu());
}
@Override
public void onDisable() {
super.onDisable();
stopMusic();
}
public void playMusic(File musicFile) {
stopMusic();
try {
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(musicFile);
clip = AudioSystem.getClip();
clip.open(audioInputStream);
setVolume(volume);
clip.start();
} catch (UnsupportedAudioFileException | IOException | LineUnavailableException e) {
e.printStackTrace();
}
}
public void stopMusic() {
if (clip != null && clip.isRunning()) {
clip.stop();
clip.close();
}
}
private void nextTrack() {
if (!musicFiles.isEmpty()) {
currentTrackIndex = (currentTrackIndex + 1) % musicFiles.size();
playMusic(musicFiles.get(currentTrackIndex));
}
}
private void previousTrack() {
if (!musicFiles.isEmpty()) {
currentTrackIndex = (currentTrackIndex - 1 + musicFiles.size()) % musicFiles.size();
playMusic(musicFiles.get(currentTrackIndex));
}
}
private void setVolume(float volume) {
if (clip != null) {
FloatControl volumeControl = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN);
volumeControl.setValue(20f * (float) Math.log10(volume)); // Установить громкость
}
}
private class MusicMenu extends Screen {
protected MusicMenu() {
super(new StringTextComponent("Music Player"));
}
@Override
protected void init() {
addButton(new Button(width / 2 - 100, height / 2 - 40, 200, 20,
new StringTextComponent("Слушать музыку"),
button -> {
File musicFile = new File("ваш путь к музыке.wav");
if (musicFile.exists()) {
musicFiles.add(musicFile);
if (currentTrackIndex == -1) {
currentTrackIndex = 0;
playMusic(musicFile);
} else {
nextTrack();
}
}
}
));
addButton(new Button(width / 2 - 100, height / 2 - 10, 200, 20,
new StringTextComponent("Остановить музыку"),
button -> {
stopMusic();
}
));
addButton(new Button(width / 2 - 100, height / 2 + 20, 90, 20,
new StringTextComponent("<< Назад"),
button -> {
previousTrack();
}
));
addButton(new Button(width / 2 + 10, height / 2 + 20, 90, 20,
new StringTextComponent("Дальше >>"),
button -> {
nextTrack();
}
));
addButton(new Button(width / 2 - 100, height / 2 + 60, 90, 20,
new StringTextComponent("-"),
button -> {
if (volume > 0.0f) {
volume = Math.max(0.0f, volume - 0.1f);
setVolume(volume);
}
}
));
addButton(new Button(width / 2 + 10, height / 2 + 60, 90, 20,
new StringTextComponent("+"),
button -> {
if (volume < 1.0f) {
volume = Math.min(1.0f, volume + 0.1f);
setVolume(volume);
}
}
));
}
}
}
Можете добавить еще пару звуков чтобы переключать, я делал только с 1
УДАЧИ