1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Не воспроизводиться аудиоклип wav на сервере

Тема в разделе "Разработка плагинов для новичков", создана пользователем MasterAlim2023, 13 мар 2023.

  1. Автор темы
    MasterAlim2023

    MasterAlim2023 Ньюби

    Баллы:
    1
    Имя в Minecraft:
    MasterAlim
    Привет, у меня возникла проблема, мой аудиоклип a.wav не воспроизводиться, я не знаю что делать даже chatGTP не смог помочь. Кто знает как сделать так чтоб у меня воспроизводился мой аудиоклип на сервере minecraft 1.12.2 Forge скажите пожалуйста.

    Вот мой код:


    package scpourworld.pm2;

    import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
    import com.sk89q.worldguard.protection.regions.ProtectedRegion;
    import org.bukkit.*;
    import org.bukkit.entity.LivingEntity;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.Action;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.scheduler.BukkitRunnable;

    import java.io.IOException;
    import java.io.InputStream;

    public class PM2 extends JavaPlugin implements Listener {

    private WorldGuardPlugin worldGuard;

    @Override
    public void onEnable() {
    Bukkit.getPluginManager().registerEvents(this, this);

    getLogger().info("MyPlugin has been enabled.");
    worldGuard = (WorldGuardPlugin) getServer().getPluginManager().getPlugin("WorldGuard");
    if (worldGuard == null) {
    getLogger().severe("WorldGuard not found!");
    getServer().getPluginManager().disablePlugin(this);
    return;
    }
    getServer().getPluginManager().registerEvents(this, this);
    }

    @Override
    public void onDisable() {
    getLogger().info("MyPlugin has been disabled.");
    }

    @EventHandler
    public void onPlayerInteract(PlayerInteractEvent event) {
    if (event.getAction() == Action.RIGHT_CLICK_BLOCK && event.getClickedBlock().getType() == Material.CONCRETE) {


    InputStream inputStream = getClass().getResourceAsStream("/a.wav");
    if (inputStream == null) {
    getLogger().warning("File not found!");
    return;
    }

    Sound sound = Sound.ENTITY_GENERIC_EXPLODE;
    float volume = 100.0f;
    float pitch = 10.0f;

    for (Player player : Bukkit.getOnlinePlayers()) {
    player.sendMessage("Sound_1 starting " + player.getName());
    player.playSound(player.getLocation(), sound, SoundCategory.PLAYERS, volume, pitch);
    }

    try {
    inputStream.close();
    } catch (IOException e) {
    e.printStackTrace();
    }



    final World world = event.getClickedBlock().getWorld();
    final ProtectedRegion region = worldGuard.getRegionManager(world).getRegion("lz");

    new BukkitRunnable() {
    @Override
    public void run() {
    Bukkit.broadcastMessage(ChatColor.RED + "Активирована детонация `Альфа` боеголовки, до уничтожения подземной части комплекса осталось, 90 секунд!");
    for (LivingEntity entity : world.getLivingEntities()) {
    if (region.contains(entity.getLocation().getBlockX(), entity.getLocation().getBlockY(), entity.getLocation().getBlockZ())) {
    entity.setHealth(0);
    }
    }
    }
    }.runTaskTimer(worldGuard, 1400L, 20L);
    }
    }
    }
     
  2. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    В своем коде ты абсолютно ничего не делаешь со своим файлом, даже не читаешь его.

    Более того, просто так игрокам и нельзя отправить файл/аудио без модов. Максимум ты можешь добавить свою композицию в ресурспак и вызывать с сервера отправку звука по ключу.
    Звуки в ресурспаках хранятся в формате ogg. Таким образом, тебе необходимо конвертировать wav в ogg.
    Подробнее о добавлении ogg в ресурспак можно почитать, например, тут: https://mcmodels.net/how-to-tutoria...ls/how-to-add-custom-sounds-to-resource-pack/

    Хотя, судя по твоим словам, у тебя сервер поддерживает forge, поэтому можешь поискать мод, который передает звуки на клиент напрямую. Но тогда тебе и для разработки тоже нужно использовать Forge API, а не Bukkit API
     

Поделиться этой страницей