• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

SignGUI

Patrick03

Redstoneengineer
Registriert
13 Mai 2020
Beiträge
38
Diamanten
307
Hallo,

Ich bin gerade dabei eine Art Bank-System wie auf Hypixel zu machen, nun brauch ich eine SignGUI auf der 1.12.2. Ich habe lange in Foren gesucht alles hat aber nicht funktioniert. Nun benötige ich bitte Hilfe.

LG
 

Malfrador

Threadripper
Registriert
16 Juni 2013
Beiträge
1.473
Diamanten
396
Minecraft
Malfrador
Es geht wahrscheinlich einfach um ein Schild als Texteingabefeld, oder? Auch wenn viele schon auf Hypixel gespielt haben, wäre ein Screenshot sicher nicht schlecht.

Wenn es das ist, musst du einfach nur das entsprechende Packet an den Client senden. Der Client erwartet ein gültiges Schild, daher muss vorher ein BlockChange-Packet gesendet werden. Dies kannst du mit ProtocolLib tun, das Packet für den Schild-Editor heißt (relativ logisch) PacketType.Play.Server.OPEN_SIGN_EDITOR. Um den eingebenen Text zu erhalten brauchst du mit ProtocolLib einen Listener für das PacketType.Play.Client.UPDATE_SIGN-Packet.

Ich habe auch dieses (etwas veraltete) Projekt auf GitHub gefunden, was eine API dieser Features bietet. Es müsste geupdatet werden, aber vielleicht hilft es dir trotzdem. Zusätzlich hier noch eine Beispiel-Implementierung mit erklärenden Kommentaren, die ProtocolLib nutzt, was ich sehr empfehlen würde - sonst geht es mit jedem Versions-Update kaputt.
 

Patrick03

Redstoneengineer
Registriert
13 Mai 2020
Beiträge
38
Diamanten
307
Ok danke,
Hier ein Bild
2020-09-12_22.59.55.png
 

Malfrador

Threadripper
Registriert
16 Juni 2013
Beiträge
1.473
Diamanten
396
Minecraft
Malfrador
Ja, dann ist es das was ich dachte.
Schau dir doch die beiden oben verlinkten Beispiele an. Besonders das zweite mit ProtocolLib ist sehr hilfreich mit Kommentaren im Code erklärt und die Klasse sollte so mit sehr wenigen Änderungen für deine Zwecke verwendbar sein.

Ein Packet ist einfach eine Sammlung an Daten, die über das Netzwerk gesendet werden. Es gibt Packets die vom Server in Richtung Client gesendet werden und Packets die der Client an den Server sendet.
Wenn du einen Block abbaust sendet der Client z.B. ein Packet, das du diesen Block abgebaut hast. Das Packet hat als Inhalt, welcher Block genau abgebaut wurde. Der Server empfängt das Packet, überprüft es ("darf der Spieler hier abbauen? Ist der Block nah genug am Spieler um abgebaut zu werden?") und sendet dann ein Packet zurück, das dem Client sagt, das sich an dieser Stelle nun Luft befindet.
 

Patrick03

Redstoneengineer
Registriert
13 Mai 2020
Beiträge
38
Diamanten
307
Ja, dann ist es das was ich dachte.
Schau dir doch die beiden oben verlinkten Beispiele an. Besonders das zweite mit ProtocolLib ist sehr hilfreich mit Kommentaren im Code erklärt und die Klasse sollte so mit sehr wenigen Änderungen für deine Zwecke verwendbar sein.

Ein Packet ist einfach eine Sammlung an Daten, die über das Netzwerk gesendet werden. Es gibt Packets die vom Server in Richtung Client gesendet werden und Packets die der Client an den Server sendet.
Wenn du einen Block abbaust sendet der Client z.B. ein Packet, das du diesen Block abgebaut hast. Das Packet hat als Inhalt, welcher Block genau abgebaut wurde. Der Server empfängt das Packet, überprüft es ("darf der Spieler hier abbauen? Ist der Block nah genug am Spieler um abgebaut zu werden?") und sendet dann ein Packet zurück, das dem Client sagt, das sich an dieser Stelle nun Luft befindet.
Aber wie empfang ich dann dort das was der Spieler eingegeben hat?
 
Oben