Sie sind nicht angemeldet.

  • Anmelden

[Bukkit-Plugin] TextComponent

Lieber Besucher, herzlich willkommen bei: Nitrado.net Prepaid Gameserver Community-Support. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

ItzSInix

User / Kunde

  • »ItzSInix« ist männlich
  • »ItzSInix« ist der Autor dieses Themas

Beiträge: 35

Wohnort: Localhost

  • Nachricht senden

1

Dienstag, 12. Februar 2019, 14:30

TextComponent

Hallo Ihr lieben :)

Würde gerne folgendes Umsetzten im PlayerChat, jedoch nach mehreren versuchen erfolglos..

Mir geht es nur darum die nachrichten im chat anzuzeigen, wenn jemand etwas schreibt und der gegenüber auf seinem Namen in seiner geschrieben Message scrollt und sich dieses Fenster öffnet

LG
ItzSinix
»ItzSInix« hat folgende Datei angehängt:
  • Download.png (41,48 kB - 9 mal heruntergeladen - zuletzt: 13. Februar 2019, 18:21)

Quellcode

1
2
3
if (Bukkit.getPlayerExact("ItzSinix").wasHelpfu()) {
   Like.give();
}

Ceddy_14

User / Kunde

  • »Ceddy_14« ist männlich

Beiträge: 277

Beruf: Schüler und Projektleiter

Danksagungen: 15

  • Nachricht senden

2

Dienstag, 12. Februar 2019, 14:38

Hi,

wie sieht denn dein aktueller Code aus?
- Projektleiter des CraftGigant-Netzwerks -
:arrow: CraftGigant.de (Version: 1.13.2) [Derzeit in Überarbeitung]
:arrow: twitter.com/craftgigant

ItzSInix

User / Kunde

  • »ItzSInix« ist männlich
  • »ItzSInix« ist der Autor dieses Themas

Beiträge: 35

Wohnort: Localhost

  • Nachricht senden

3

Dienstag, 12. Februar 2019, 16:42

Hi,

wie sieht denn dein aktueller Code aus?
Habe den alten code leider nicht mehr, da ich es vorerst aus dem Plugin entfernt habe, mir wurde gesagt das es über den TextComponent geht, jedoch finde ich dazu nicht :x

Quellcode

1
2
3
if (Bukkit.getPlayerExact("ItzSinix").wasHelpfu()) {
   Like.give();
}

Ceddy_14

User / Kunde

  • »Ceddy_14« ist männlich

Beiträge: 277

Beruf: Schüler und Projektleiter

Danksagungen: 15

  • Nachricht senden

4

Dienstag, 12. Februar 2019, 17:55

Alsoo, erstmal erstellst du den TextComponent im AsyncPlayerChatEvent. Wenn du da willst, dass man nur über den Spielernamen fahren kann, bietet sich folgendes an:

Java-Quelltext

1
TextComponent tc= new TextComponent(Player#getName);

(Import ist von net.md_5.bungee.api.chat.TextComponent, nicht java.awt)

Dann setzt du dem erstellten TextComponent ein HoverEvent:

Java-Quelltext

1
tc.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("Bliblablub").create()));


Anschließend musst du dann ein weiteres TextComponent erstellen, in dem du die Nachricht, die der Spieler eigentlich schreiben wollte, abfängst und diese setzt du dem TextComponent mit dem Spielernamen dann als extra. Ich hab auch noch einen weiteren TC mit einer Lücke erstellt, damit Nachricht und Name nicht direkt aneinander kleben.

Java-Quelltext

1
2
3
4
5
		TextComponent tc3 = new TextComponent(" ");
		TextComponent tc2 = new TextComponent(e.getMessage());

		tc.addExtra(tc2);
		tc.addExtra(tc3);



Zum Schluss musst das Event dann noch einmal canceln und den TextComponent broadcasten, weil die setFormat-Methode vom ChatEvent nur einen String und keinen TextComponent annimmt.

Java-Quelltext

1
		Bukkit.spigot().broadcast(tc);



Ist nicht getestet, sollte aber eigentlich funktionieren.

Viele Grüße
Ceddy
- Projektleiter des CraftGigant-Netzwerks -
:arrow: CraftGigant.de (Version: 1.13.2) [Derzeit in Überarbeitung]
:arrow: twitter.com/craftgigant

ItzSInix

User / Kunde

  • »ItzSInix« ist männlich
  • »ItzSInix« ist der Autor dieses Themas

Beiträge: 35

Wohnort: Localhost

  • Nachricht senden

5

Mittwoch, 13. Februar 2019, 13:41

Danke :)

Quellcode

1
2
3
if (Bukkit.getPlayerExact("ItzSinix").wasHelpfu()) {
   Like.give();
}