以下是一个使用Java编写的示例代码,可以在Bukkit 1.20.1版本中实现玩家开启飞行时显示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() {
        getServer().getPluginManager().registerEvents(this, this);
    }

    @EventHandler
    public void onPlayerToggleFlight(PlayerToggleFlightEvent event) {
        Player player = event.getPlayer();
        
        if (player.getAllowFlight()) {
            if (event.isFlying()) {
                // 开启飞行
                sendActionBar(player, ChatColor.GREEN + '飞行已开启');
            } else {
                // 关闭飞行
                sendActionBar(player, ChatColor.RED + '飞行已关闭');
            }
        }
    }

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

请注意,以上代码是一个简单的示例,你需要将其保存为一个Java类文件,并将其编译为插件(JAR文件),然后将其放置在Bukkit服务器的插件文件夹中。另外,你还需要确保你的插件依赖于Bukkit API。

Bukkit 1.20.1 玩家飞行状态ActionBar提示插件

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

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