Tenho claro:
package br.com.of.punir;
import net.minecraft.server.v1_8_R3.IChatBaseComponent;
import net.minecraft.server.v1_8_R3.Packet;
import net.minecraft.server.v1_8_R3.PacketPlayOutChat;
import org.bukkit.Bukkit;
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
import org.bukkit.entity.Player;
public class APIClickChat {
private String message;
public APIClickChat(String message, String clickaqui, String passoumouser) {
this.message = "[\"\",{\"text\":\"" + message + " \",\"extra\":[{\"text\":\"" + clickaqui + "\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":\"" + passoumouser + "\"}";
}
public void addComand(String comando) {
this.message = String.valueOf(String.valueOf(this.message)) + ",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"" + comando + "\"}}]}]";
}
public void addSugestao(String comando) {
this.message = String.valueOf(String.valueOf(this.message)) + ",\"clickEvent\":{\"action\":\"suggest_command\",\"value\":\"" + comando + "\"}}]}]";
}
public void addURL(String link) {
this.message = String.valueOf(String.valueOf(this.message)) + ",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"" + link + "\"}}]}]";
}
@SuppressWarnings("rawtypes")
public void enviarOnline() {
for (Player s1 : Bukkit.getOnlinePlayers()) {
PacketPlayOutChat packet = new PacketPlayOutChat(IChatBaseComponent.ChatSerializer.a((String)String.valueOf(this.message)));
((CraftPlayer)s1).getHandle().playerConnection.sendPacket((Packet)packet);
}
}
@SuppressWarnings("rawtypes")
public void enviar(Player p) {
PacketPlayOutChat packet = new PacketPlayOutChat(IChatBaseComponent.ChatSerializer.a((String)String.valueOf(this.message)));
((CraftPlayer)p).getHandle().playerConnection.sendPacket((Packet)packet);
}
}