Java
minecraft
Plugin
spigot
Bukkit

マインクラフトプラグインでホバーテキストや、クリックでコマンド実行できるテキストを表示する方法

//  マインクラフトチャットに、ホバーテキストや、クリックコマンドを設定する関数
// [例1] sendHoverText(player,"ここをクリック",null,"/say おはまん");
// [例2] sendHoverText(player,"カーソルをあわせて","ヘルプメッセージとか",null);
// [例3] sendHoverText(player,"カーソルをあわせてクリック","ヘルプメッセージとか","/say おはまん");
public static void sendHoverText(Player p,String text,String hoverText,String command){
    //////////////////////////////////////////
    //      ホバーテキストとイベントを作成する
    HoverEvent hoverEvent = null;
    if(hoverText != null){
        BaseComponent[] hover = new ComponentBuilder(hoverText).create();
        hoverEvent = new HoverEvent(HoverEvent.Action.SHOW_TEXT, hover);
    }

    //////////////////////////////////////////
    //   クリックイベントを作成する
    ClickEvent clickEvent = null;
    if(command != null){
        clickEvent = new ClickEvent(ClickEvent.Action.RUN_COMMAND,command);
    }

    BaseComponent[] message = new ComponentBuilder(text).event(hoverEvent).event(clickEvent). create();
    p.spigot().sendMessage(message);
}