Bukkit 1.20.1 Java 插件:放置箱子发送坐标消息

本教程将教你如何使用 Bukkit 事件监听器,在 Minecraft 1.20.1 服务器上,当玩家放置普通箱子时发送坐标消息,而放置大箱子时不发送消息。

步骤:

  1. 创建监听器类:
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.BlockPlaceEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class ChestPlaceListener implements Listener {

    private JavaPlugin plugin;

    public ChestPlaceListener(JavaPlugin plugin) {
        this.plugin = plugin;
    }

    @EventHandler
    public void onChestPlace(BlockPlaceEvent event) {
        Block block = event.getBlock();
        Player player = event.getPlayer();

        if (block.getType() == Material.CHEST) {
            BlockState state = block.getState();
            Chest chest = (Chest) state;

            if (chest.getInventory().getSize() == 54) {
                // 大箱子
                return;
            }

            player.sendMessage('你放置了一个箱子,坐标为: ' + block.getLocation().toString());
        }
    }
}
  1. 在主类中注册监听器:
import org.bukkit.plugin.java.JavaPlugin;

public class YourPlugin extends JavaPlugin {

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

    @Override
    public void onDisable() {
        // 可选的禁用操作
    }
}
  1. 配置 plugin.yml 文件:

plugin.yml 文件中声明你的主类和插件信息。

运行效果:

当玩家放置一个箱子时,如果它不是大箱子,将会发送一条坐标消息给玩家。如果它是一个大箱子,将不会发送消息。

Bukkit 1.20.1 Java 插件:放置箱子发送坐标消息

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

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