你可以使用 Bukkit API 和 Java 编写一个插件来实现这个功能。下面是一个简单的示例代码:

import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerPickupItemEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;

public class PickupListener implements Listener {

    @EventHandler
    public void onPlayerPickupItem(PlayerPickupItemEvent event) {
        Player player = event.getPlayer();
        ItemStack item = event.getItem().getItemStack();

        // 检查物品是否为未编辑的书与笔
        if (item.getType() == Material.WRITABLE_BOOK && !item.hasItemMeta()) {
            // 将物品直接添加到玩家背包
            player.getInventory().addItem(item);
            event.setCancelled(true);
        } else if (item.getType() == Material.WRITABLE_BOOK && item.hasItemMeta()) {
            // 发送消息并禁止拾取
            player.sendMessage(ChatColor.RED + "你不能拾取已编辑的书与笔!");
            event.setCancelled(true);
        }
    }
}

public class YourPlugin extends JavaPlugin {

    @Override
    public void onEnable() {
        // 注册事件监听器
        getServer().getPluginManager().registerEvents(new PickupListener(), this);
    }
}

将上述代码保存为一个 Java 文件,并将文件放置在你的 Bukkit 插件的源代码目录下(通常是src/main/java/)。然后,使用 Maven 或 Gradle 等构建工具编译插件并将其放置在 Bukkit 服务器的插件目录下。

这样,当玩家捡起一个未编辑的书与笔时,它将直接添加到玩家的背包中;如果玩家试图捡起一个已编辑的书与笔,他们将收到一条消息并被禁止拾取。

Bukkit 1.20.1 插件:自动拾取未编辑的书与笔

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

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