Bukkit 1.20.1 非OP玩家打开箱子但无法存取物品插件

这个插件可以让非OP玩家打开箱子查看物品,但无法取出或放入物品,即使按住Shift键也不行。

功能:

  • 非OP玩家可以打开箱子
  • 非OP玩家无法从箱子中取出物品
  • 非OP玩家无法将物品放入箱子
  • 按住Shift键也无法将物品放入箱子

代码:

import org.bukkit.Material;
import org.bukkit.block.Block;
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.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;

public class ChestRestrictionPlugin extends JavaPlugin implements Listener {

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

    @EventHandler
    public void onPlayerInteract(PlayerInteractEvent event) {
        Player player = event.getPlayer();
        Block block = event.getClickedBlock();

        if (block != null && block.getType() == Material.CHEST) {
            if (!player.isOp()) {
                event.setCancelled(true); // 玩家不是OP时取消事件

                if (event.getAction() == Action.RIGHT_CLICK_BLOCK) {
                    Inventory chestInventory = block.getState().getInventory();

                    // 检查是否按下了Shift键
                    if (player.isSneaking()) {
                        ItemStack itemInHand = player.getInventory().getItemInMainHand();

                        // 检查手中的物品是否为空
                        if (itemInHand != null && itemInHand.getType() != Material.AIR) {
                            player.sendMessage('你不能放入物品到这个箱子。');
                        }
                    } else {
                        player.openInventory(chestInventory); // 打开箱子
                    }
                }
            }
        }
    }
}

使用方法:

  1. 将代码保存为 ChestRestrictionPlugin.java 文件。
  2. 将文件编译成 .jar 文件。
  3. .jar 文件放入您的 Bukkit 或 Spigot 服务器的 plugins 文件夹中。
  4. 启动服务器。

注意:

  • 此插件需要 Bukkit 或 Spigot 服务器版本为 1.20.1。
  • 此插件仅阻止非OP玩家存取箱子,OP玩家仍然可以正常使用箱子。
  • 此插件使用了中文注释,方便理解。
Bukkit 1.20.1 非OP玩家打开箱子但无法存取物品插件

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

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