• 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!

Wie kann ich bestimme Signs updaten lassen?

Lentry

Redstoneengineer
Registriert
15 Mai 2016
Beiträge
48
Alter
28
Diamanten
300
Guten tag,
ich habe eine frage an euch.
Ich programmier gerade eine Teleportsigns Plugin und wollte mal fragen wie ich am besten die Signs updaten lassen kann?


Ich hoffe das ihr mir weiter helfen könnt.

LG Lentry
 

IDK_WHO_AM_I

Kuhfänger
Registriert
30 Mai 2017
Beiträge
66
Alter
28
Diamanten
300
Minecraft
IDK_WHO_AM_I
Was meinst du mit updaten? Das sie den neuen Text anzeigen?

Javascript:
                        Block block;
                        if(block.getState() instanceof Sign) {
                            Sign sign = (Sign) block.getState();
                            sign.setLine(1, "YourText");
                            sign.update();
                        }
 

IDK_WHO_AM_I

Kuhfänger
Registriert
30 Mai 2017
Beiträge
66
Alter
28
Diamanten
300
Minecraft
IDK_WHO_AM_I
Am besten du speichers die Location irgendwie ab und machst dann wie folgt:
Javascript:
for(Location loc : getLocations()) {
Block block = Bukkit.getWorld(loc.getWorld().getName()).getBlockAt(loc);
Sign sign = (Sign) block.getState();
sign.setLine(1, "YourText");
sign.update();

}

Kann sein das die methoden etwwas anders sind aber so in etwas geht das :D
 

UnityGaming

Workaholic
Registriert
25 Oktober 2015
Beiträge
527
Alter
26
Diamanten
312
Minecraft
FastFelix771
Bukkit.getWorld(loc.getWorld().getName())
why? o_O
loc.getWorld() und gut is.. ? :3

Am Besten natürlich noch eine Prüfung, ob der Block wirklich ein Schild ist.
Gute Idee.

Und ich möchte mit ein Timer alle schielder updaten lassen.
Nun, du registrierst einen Runnable Task im Bukkit Scheduler (Bukkit.getScheduler()) und dann befolgst du die oben genannten Vorschläge.
Hinweis zum Scheduler: scheduleSyncRepeatingTask oder so heißt die Methode, keinesfalls scheduleAsyncRepeatingTask nutzen!
 
Oben