以下是使用Java编写的Bukkit插件,可以将箱子变成展示箱,并且只能右键打开查看物品,不能拿出物品。

import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockState;
import org.bukkit.block.Chest;
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 DisplayChestPlugin extends JavaPlugin implements Listener {

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

    @EventHandler
    public void onPlayerInteract(PlayerInteractEvent event) {
        Player player = event.getPlayer();
        Action action = event.getAction();

        if (action.equals(Action.RIGHT_CLICK_BLOCK)) {
            Block clickedBlock = event.getClickedBlock();
            if (clickedBlock != null && clickedBlock.getType() == Material.CHEST) {
                BlockState blockState = clickedBlock.getState();
                if (blockState instanceof Chest) {
                    Chest chest = (Chest) blockState;
                    Inventory chestInventory = chest.getInventory();
                    Inventory displayInventory = getServer().createInventory(null, chestInventory.getSize(),
                            'Display Chest');

                    for (int i = 0; i < chestInventory.getSize(); i++) {
                        ItemStack item = chestInventory.getItem(i);
                        if (item != null) {
                            displayInventory.setItem(i, item.clone());
                        }
                    }

                    player.openInventory(displayInventory);
                    event.setCancelled(true);
                }
            }
        }
    }
}

要使用此插件,请按照以下步骤进行操作:

  1. 在你的Java开发环境中创建一个新的Java项目。
  2. 将上述代码保存为DisplayChestPlugin.java文件,并将其放入项目的src文件夹中。
  3. 在项目中添加Bukkit API的依赖库。
  4. 构建并导出插件的JAR文件。
  5. 将生成的JAR文件复制到Bukkit服务器的plugins文件夹中。
  6. 启动Bukkit服务器,插件将自动加载。
  7. 玩家在游戏中使用右键点击箱子时,箱子将变成展示箱,只能查看物品而无法拿出物品。
Bukkit 1.20.1 展示箱插件:Java 代码实现

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

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