如何为Java插件文本制作工具提示

问题描述

我正在尝试为minecraft插件文本创建工具提示,所以当鼠标悬停在工具上时,它会显示出嗨声,我不断看到人们使用过时的资源,而在Webb上找不到任何新内容

package ga.harrytubestudios.helloworld.commands;

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

import ga.harrytubestudios.helloworld.main;

public class hellocomamnd implements CommandExecutor {

    private main plugin;
    
    public hellocomamnd(main plugin) {
        this.plugin = plugin;
        plugin.getCommand("hello").setExecutor(this);
    }
    @Override
    public boolean onCommand(CommandSender sender,Command cmd,String label,String[] args) {
if (!(sender instanceof Player)){
    sender.sendMessage("player only command");
    return true;

}
Player p = (Player) sender ;

    p.sendMessage("hi");
    return true;
    

    }
}

请帮助我,我找不到任何帮助,希望这对任何人都可以帮助

解决方法

插头有这种格式

TextComponent test= new TextComponent("hi");
    shopfood.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT,new ComponentBuilder("hi")).create() ));
p.spigot().sendMessage(test);

一些示例代码,将鼠标悬停在文本和此处的答案上会显示一些文本

    @Override
    public boolean onCommand(CommandSender sender,Command cmd,String label,String[] args) {
if (!(sender instanceof Player)){
    sender.sendMessage("player only command");
    return true;

}
Player p = (Player) sender ;
TextComponent test= new TextComponent("hi");
    shopfood.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT,new ComponentBuilder("hi")).create() ));
p.spigot().sendMessage(test);
    return true;


    }
}

这是一些示例代码

TextComponent enter-var-name-here = new TextComponent(enter first text);
    shopfood.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT,new ComponentBuilder(enter-hover-text)).create() ));
p.spigot().sendMessage(enter-var-name-here);