你可以尝试使用以下代码来实现你的需求:

import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryOpenEvent;
import org.bukkit.inventory.Inventory;

public class GuiListener implements Listener {

    @EventHandler
    public void onInventoryOpen(InventoryOpenEvent event) {
        Inventory inventory = event.getInventory();
        if (inventory.getSize() > 45) {
            Player player = (Player) event.getPlayer();
            player.sendMessage(ChatColor.RED + "空间不足,无法打开GUI!");
        }
    }

    @EventHandler
    public void onInventoryClick(InventoryClickEvent event) {
        Inventory inventory = event.getInventory();
        if (inventory.getSize() > 45) {
            Player player = (Player) event.getWhoClicked();
            player.sendMessage(ChatColor.RED + "空间不足,无法点击GUI中的物品!");
            event.setCancelled(true);
        }
    }
}

在你的主类中注册这个监听器:

import org.bukkit.plugin.java.JavaPlugin;

public class YourPlugin extends JavaPlugin {

    @Override
    public void onEnable() {
        getServer().getPluginManager().registerEvents(new GuiListener(), this);
    }
}

这样,当玩家打开超过45个物品的GUI时,会收到一条空间不足的消息,并且无法点击GUI中的物品。你可以根据需求自行调整消息的内容和颜色

用Java写一个Bukkit1201的 当物品Gui的配置文件内物品数量超过45个的时候玩家打开Gui的时候显示一条空间不足消息

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

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