You are not logged in.

  • Login

[Bukkit-Plugin] TextComponent

Bitte besucht unser neues Forum unter https://forum.nitrado.net | Please visit our new Forum at https://forum.nitrado.net

Dear visitor, welcome to Nitrado.net Prepaid Gameserver Community-Support - Archiv. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

ItzSInix

User / Kunde

  • "ItzSInix" is male
  • "ItzSInix" started this thread

Posts: 35

Location: Localhost

  • Send private message

1

Tuesday, February 12th 2019, 2:30pm

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 has attached the following file:
  • Download.png (41.48 kB - 9 times downloaded - latest: Feb 13th 2019, 6:21pm)

Quellcode

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

Ceddy_14

User / Kunde

  • "Ceddy_14" is male

Posts: 277

Occupation: Schüler und Projektleiter

Thanks: 15

  • Send private message

2

Tuesday, February 12th 2019, 2:38pm

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" is male
  • "ItzSInix" started this thread

Posts: 35

Location: Localhost

  • Send private message

3

Tuesday, February 12th 2019, 4:42pm

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" is male

Posts: 277

Occupation: Schüler und Projektleiter

Thanks: 15

  • Send private message

4

Tuesday, February 12th 2019, 5:55pm

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 source code

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 source code

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 source code

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 source code

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" is male
  • "ItzSInix" started this thread

Posts: 35

Location: Localhost

  • Send private message

5

Wednesday, February 13th 2019, 1:41pm

Danke :)

Quellcode

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

Bitte besucht unser neues Forum unter https://forum.nitrado.net| Please visit our new Forum at https://forum.nitrado.net