Minecraft Spigot Java | Wie kann ich eine RawMessage erstellen?

...komplette Frage anzeigen

1 Antwort

Player player = DEINEPLAYERVARIABLE;

TextComponent MeineTextComponente = new TextComponent();
MeineTextComponente.setText("Ich bin der Text im Chat");
MeineTextComponente.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("Ich bin der Hover-Text").create()));
MeineTextComponente.setClickEvent(new ClickEvent(Action.RUN_COMMAND, "/COMMMAND"));
player.spigot().sendMessage(MeineTextComponente);

Viel Spaß :)

Danke für deine Mühe! Diese Methode funktioniert ohne Probleme! Nur leider habe ich das Problem, dass ich den Spieler nicht definieren kann. Wie kann ich herausfinden wer einen Command ausgeführt hat und ihn diese TextComponente schicken? Danke!

0
@Christianh34

Hab schon eine Möglichkeit gefunden, wie man den Sender herausfinden kann.

Player player = (Player) sender;
0
@Christianh34
@EventHandler

public void CommandSpyEvent(PlayerCommandPreprocessEvent e) {
Player p = e.getPlayer();
String AdminPermission = "CommandSpy.Use";
for (Player all : Bukkit.getOnlinePlayers()) {
if(all.hasPermission(AdminPermission)) {
sendSpyMessage(all, "§7" + p.getName() + " §ahat einen Command ausgeführt.", "§cCommand: §7" + e.getMessage());
}
}
}

public void sendSpyMessage(Player Player, String ChatText, String HoverText) {
TextComponent MeineTextComponente = new TextComponent();
MeineTextComponente.setText(ChatText);
MeineTextComponente.setHoverEvent(
new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder(HoverText).create()));

MeineTextComponente.setClickEvent(new ClickEvent(Action.RUN_COMMAND, "/COMMMAND"));
Player.spigot().sendMessage(MeineTextComponente);
}

So müsste das gehen, gucke dir lieber nochmal selbst an lerne noch ein wenig dann macht das alles viel mehr spaß :P

LG Pascal

0

Was möchtest Du wissen?