你可以使用Bukkit的API来实现这个功能。首先,你需要在onCommand方法中注册你的指令,并在指令执行时打开GUI。然后,在打开GUI之前,你可以使用Player.playSound()方法来播放打开箱子的音效。

下面是一个简单的示例代码:

import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin implements CommandExecutor {

    @Override
    public void onEnable() {
        // 注册指令
        getCommand('opengui').setExecutor(this);
    }

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (sender instanceof Player) {
            Player player = (Player) sender;

            // 播放打开箱子的音效
            player.playSound(player.getLocation(), Sound.BLOCK_CHEST_OPEN, 1.0f, 1.0f);

            // 打开GUI
            openGUI(player);
        }
        return true;
    }

    // 打开GUI
    private void openGUI(Player player) {
        Inventory gui = Bukkit.createInventory(null, 9, 'My GUI');

        // 添加一些物品到GUI中
        gui.addItem(new ItemStack(Material.DIAMOND));
        gui.addItem(new ItemStack(Material.GOLD_INGOT));
        gui.addItem(new ItemStack(Material.IRON_INGOT));

        // 打开GUI
        player.openInventory(gui);
    }
}

这个示例代码中,当玩家输入/opengui指令时,会播放打开箱子的音效,并打开一个包含一些物品的GUI界面。你可以根据自己的需求修改GUI的内容和音效。记得在plugin.yml文件中注册你的插件和指令。

Bukkit 1.20.1 指令打开GUI并播放箱子音效

原文地址: https://www.cveoy.top/t/topic/fxvI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录