Bukkit Plugin Fragen!

07/29/2013 01:31 SBotDE#1
Hey,
ich programmiere zur Zeit an einem Spielmodus der nennt sich Versus (bald auch auf meinem Server! :) <-- Nein das ist keine Schleich Werbung :D)

Ich habe da einige Fehler die ich nicht Selber lösen kann diese Fehler wären es:

- Item Meta in einer anderen Klasse Benutzen!
- Listener in eine neue Klasse machen!
- Item Lore setzen (<-- ich habe das noch nicht so ganz verstanden mit den Strings!)
- Economy Geld einbauen! (Suche Deutschsprachige Tutorials! {Youtube Videos!})
- Brauche Hilfe bei Bug fixes (Ich weis man sollte eigentlich so etwas alleine machen aber ich hätte gerne etwas Hilfe damit ich nicht immer neue Threads Schreiben muss..)

Ich hoffe ihr könnt mir Helfen! :)
Danke an alle die mir Helfen werden!
07/29/2013 01:55 ComputerBaer#2
Quote:
Originally Posted by SBotDE View Post
- Item Meta in einer anderen Klasse Benutzen!
Wie muss man das verstehen? Willst du jetzt eine eigene Klasse schreiben, die von den Metadaten beeinflusst wird ?! Erhlich gesagt, ich verstehe nicht was du willst.

Quote:
Originally Posted by SBotDE View Post
- Listener in eine neue Klasse machen!
Und hier verstehe ich dein Problem nicht, oder ich verstehe dich komplett falsch. Ganz einfache Lösung: Eine andere Klasse den Listener implementieren lassen und sie registrieren.

Quote:
Originally Posted by SBotDE View Post
- Item Lore setzen (<-- ich habe das noch nicht so ganz verstanden mit den Strings!)
Die Lore in der du sitzt ist mit 99.9% Wahrscheinlichkeit kein Item (habs nicht nachgeschaut). Und was hat das mit Strings zutun?
Loren setzen funktioniert vermutlich so: Item Rechtklick auf den Boden und dann eine Lore dort spawnen. Eventuell muss du noch ein kleinwenig mit Koordinaten rechnen, damit sie richtig spawnt.

Imgrunde hab ich nicht kapiert, was du von uns wissen willst.

Quote:
Originally Posted by SBotDE View Post
- Economy Geld einbauen! (Suche Deutschsprachige Tutorials! {Youtube Videos!})
Du willst ... was? Youtube Videos?
Ich geb dir was besseres, nennt sich [Only registered and activated users can see links. Click Here To Register...]. Entweder Vault benutzen oder bei Vault schauen wie es geht, ich warne dich aber, es gibt verdammt viele Economy Plugins.

Quote:
Originally Posted by SBotDE View Post
- Brauche Hilfe bei Bug fixes (Ich weis man sollte eigentlich so etwas alleine machen aber ich hätte gerne etwas Hilfe damit ich nicht immer neue Threads Schreiben muss..)
Hier ist die Lösung: ... !
Uups, scheint als hätten da deine Fragen/Probleme gefehlt. Wie sollen wir die beim Fehler beheben helfen, wenn wir dein Problem nicht kennen?

Und du hast schon recht, eigentlich solltest du es selbst lösen, aber anhand der vorherigen Fragen (besonders 1, 2 und 4) wirst du Hilfe wohl sehr nötig haben.
07/29/2013 02:03 Floppy012#3
Bei item Lore, ist nicht die Lore gemeint sondern um einen Wert von ItemMeta: [Only registered and activated users can see links. Click Here To Register...]

Und mit den Klassen meint er wahrscheinlich neue Dateien. Also nicht alles in eine sondern die Listener in eine andere datei schreiben.

Mit freundlichen Grüßen

Floppy
07/29/2013 02:20 ComputerBaer#4
Quote:
Originally Posted by Floppy012 View Post
Bei item Lore, ist nicht die Lore gemeint sondern um einen Wert von ItemMeta: [Only registered and activated users can see links. Click Here To Register...]
Ohh, da muss man auch erstmal drauf kommen. Ich denke wenn man das noch nie gesehen hat, dann kommt man auch nicht auf die Idee, dass das gemeint ist.

Ich denke da kann ich erst helfen, wenn ich weis was sich dahinter verbirgt. Was tut es, bzw. wofür ist es da?
Edit: Sehe ich das richtig, es ist diese "Beschreibung" auf dem Item? Wenn ja, dann verstehe ich auch hier das Problem nicht, weil es doch einfach nur ein String ist, oder?!

Quote:
Originally Posted by Floppy012 View Post
Und mit den Klassen meint er wahrscheinlich neue Dateien. Also nicht alles in eine sondern die Listener in eine andere datei schreiben.
Schreibst du selber Plugins/Programme? Wenn ja, packst du alle Klassen in eine Datei? Ich hoffe mal nicht, das muss ja extrem unübersichtlich werden bei großen Programmen (und ich glaube Java mag das auch nicht).

Ich hab schon verstanden, das er eine "neue Listener-Klasse" machen will, aber ich verstehe nicht wo sein Problem dabei liegt, weil es nie anders ist, egal wo dein Listener ist.
07/29/2013 02:32 Kante'#5
dev.bukkit.org/thumbman/images/57/802/100x96/portals.png.-m1.png

Kann unscharf sein, bin gerade am Handy. Es gibt ja den DisplayName eines Items, welcher den Namen anzeigt und es gibt eine Lore, welche man bisher nicht ingame in Vanilla einem Item hinzufügen konnte. Es ist so ähnlich, wie der in 1
6 implementierte Schriftzug unter Waffen etc. (+2 Attack Dmage) oder so. Nur kann man bei der Lore den Text selbst editieren und auch Farben und Texte hinzufügen kann. Ich meine, dort gibt es eine List und Strings bei der Methode setLore, da mit der List die Zeile gemeint sein könnte, in der sich der String bzw. die Beschreibung befindet, bin mir damit aner nicht sicher und kenne mich mit der Lore auch nicht weiter aus.
07/29/2013 02:44 ComputerBaer#6
Ok, das meinte ich mit "Beschreibung".
Ich schaue mal kurz drauf, denke aber auch das die Liste irgendwas mit Zeilen oder Absätzen zutun haben wird.

Edit:
Jeder String stellt eine Zeile da. Minecraft macht keine Zeilenumbrüche wenn der Text zu lang ist, dann geht der Text eben aus dem Bildschirm raus.

Aber wo genau liegt das Problem? Und jetzt sag bitte nicht, dass es das Einfügen der Strings ist.

Edit 2:
Nagut ich machs dir vor, ist aber nur schnell zusammen geschrieben:
Code:
ItemStack item = ... ;

ItemMeta meta = item.getItemMeta();
List<String> l = meta.getLore();

if(l == null) l = new ArrayList<String>();

l.add("Dies ist der erste Teststring mit vielen unnötigen Wörtern. Ja, es geht noch weiter!");

l.add("Dies ist der zweite Teststring mit");
l.add("vielen unnötigen Wörtern, in zwei Strings.");

meta.setLore(l);
item.setItemMeta(meta);
Edit 3:
Könnte sein, dass das Beispiel nicht funktioniert, wenn getLore eine Liste zurückliefert, weil es sein kann, dass die Liste schreibgeschützt ist. In dem Fall muss man eben alles in eine neue Liste kopieren und die dann benutzen.
07/29/2013 03:12 Floppy012#7
Ja ich schreibe Plugins aber nur für meinen eigenen Server. Bei mir ist alles ordentlich :D


Mit freundlichen Grüßen

Floppy
07/29/2013 09:53 herlex#8
Ich möcht jetzt nicht aufdringlich wirken...

Aber du schreibst Plugins für deinen eigenen Server, willst nen eigenen GameMode oder wie man das nennen mag, entwickeln, und fragst nach "PlayerListener in einer anderen Klasse"???

Mein Tipp zu deinen Problemen: Kauf dir bitte n Java Buch oder lies dir mal n paar Bücher im Web durch.

Mich würde mal noch interessieren? Hast du ein paar Referenzen? BukkitLink?
07/29/2013 16:47 SBotDE#9
Also Ich habe die Frage nur weil meine Methode nicht erkannt wird aber was mein Größeres Problem bzw. meine Größere Frage ist wie kann ich die Item Meta in eine andere Klasse packen ?
07/29/2013 16:54 ComputerBaer#10
Quote:
Originally Posted by SBotDE View Post
Also Ich habe die Frage nur weil meine Methode nicht erkannt wird
Vielleicht vergessen die Methode als Eventhandler zu markieren?

Quote:
Originally Posted by SBotDE View Post
wie kann ich die Item Meta in eine andere Klasse packen ?
Und das heißt was ... ? Bitte werd da mal etwas genauer, an dem Satz kann man überhaupt nicht erkennen was du machen willst.
07/29/2013 17:03 SBotDE#11
Also...Ich will die Item Metas die ich erstellt habe in eine andere KLASSE tun und danach z.B aus der MAIN klasse die ITEM METAS aus der ANDEREN KLASSE benutzen.
07/29/2013 17:13 ComputerBaer#12
Wie wäre es mit ... ItemMeta in einer Liste speichern und die zumindest öffentlich lesbar machen, damit deine Mainklasse da dran kommt?
07/30/2013 04:18 SBotDE#13
Aber nicht die main klasse soll drauf zu greifen ein eventhandler
07/30/2013 04:46 ComputerBaer#14
Entscheid dich mal erst heißt es "aus der MAIN klasse die ITEM METAS aus der ANDEREN KLASSE benutzen.", jetzt heißt es "nicht die main klasse soll drauf zu greifen ein eventhandler".

Soll aber letztendlich egal sein, weil es ohnehin immer der selbe Code ist, den du schreiben musst ...

Jetzt mach endlich deutlich wo dein Problem liegt, weil so wird das nichts. Aber irgendwie hab ich das Gefühl, die hängst irgendwo (jenseits von Gut und Böse) an irgendwelchen Grundlagen.
07/30/2013 19:45 SBotDE#15
Kann es den nicht sein das in der Main Klasse ein EventHandler ist ?