以下是一个使用 Java 编写的 Bukkit 插件,可以在玩家开启飞行时显示 ActionBar 文字消息,关闭飞行时隐藏文字消息:

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerToggleFlightEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;

public class FlightActionBarPlugin extends JavaPlugin implements Listener {

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

    @EventHandler
    public void onPlayerToggleFlight(PlayerToggleFlightEvent event) {
        Player player = event.getPlayer();

        if (player.getAllowFlight()) {
            if (event.isFlying()) {
                sendActionBarMessage(player, ChatColor.GREEN + '飞行已开启');
            } else {
                sendActionBarMessage(player, '');
            }
        }
    }

    private void sendActionBarMessage(Player player, String message) {
        new BukkitRunnable() {
            @Override
            public void run() {
                player.sendActionBar(message);
            }
        }.runTaskLater(this, 1); // 延迟1 tick发送ActionBar消息
    }
}

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

  1. 创建一个新的 Java 项目,并将上述代码复制到项目的主类中。
  2. 确保项目依赖包含 Bukkit API。
  3. 将项目导出为一个可执行的 JAR 文件。
  4. 将生成的 JAR 文件放入 Bukkit/Spigot 服务器的插件文件夹中。
  5. 启动服务器,插件将自动加载并开始监听玩家的飞行状态。

请注意,此插件仅在玩家允许飞行时才会发送 ActionBar 消息,并且消息将在飞行关闭时隐藏。

Bukkit 1.20.1 飞行状态 ActionBar 文字提示插件 - Java 代码示例

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

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