Minecraft Minecraft Plugin programmieren (Craftbukkit 1.7.2) Problem

Minecraft - Java Edition

LordAbdul98

Neues Mitglied
Hey Community,
ich bin gerade am programmieren eines Plugins für Minecraft-bukkit 1.7.2,
komme aber an einer gewissen stelle nicht weiter. :shock:
Ich möchte eine Nachicht an einen Spieler ausgeben die aber vorher in der Confik konfiguriert worden ist.
Bis jetzt habe ich zwar eine Nachicht, die ich aber nicht ändern kann und einen Nachichten Text in der Confik der nicht gesendet wird. :/

In dem Spoiler habe ich die bis jetzt geschriebene Main hineingeschriebenen :

package me.LordAbdul.Kontakt;


import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.java.JavaPlugin;

public class kontakt extends JavaPlugin
{

@Override
public void onEnable() {

System.out.println("Plugin 'Kontakt' wurde gestartet");
}
@Override
public void onDisable() {

System.out.println("Plugin 'Kontakt' wurde geschlossen");
}
public boolean onCommand(CommandSender cs, Command cmd, String label, String[] args){

cs.sendMessage("Skype:" + " " + " Teamspeak:");

this.getConfig().addDefault("info.kontaktdaten", new String[] {

"§3Skype:",
"§4Teamspeak:"

});
this.getConfig().options().copyDefaults(true);
this.saveConfig();

return true;

}


}


Die Confik sieht wie folgt aus:

info:
kontaktdaten:
- 'Skype: test38'
- 'Teamspeak: 37.67.98.90'





Die externe jar ist die: craftbukkit-1.7.2-R0.1-20131204.020906-17
und ich habe die main mit eclipse geschrieben.

Vielen Dank im Vorraus für eure hilfe :)
 
Zuletzt bearbeitet:

sirkarpfen

Mitglied
Ich hoffe die yaml file hat die richtigen Einrückungen. Um ein Childnode zu schreiben musst du 2 Leerzeichen davor setzen:

Code:
info:
  kontaktdaten:

Außerdem bin ich mir ned sicher ob ein Bindestrich in YAML Dateien erlaubt ist, bzw. ob dieser nicht Fehler verursacht.

Lies dir am besten mal ein Tut für YAML Dateien durch, um zu verstehen was du da alles schreiben darfst und was nicht.

Außerdem erstellst du bei jedem neuen onCommand() Aufruf die Config mit den Default-Werten neu. Default werte sollten aber nur 1 mal vergeben werden, oder dann wenn du einen Wert wirklich auf den Defaultwert zurücklegen willst.

Java:
this.getConfig().addDefault() // nur 1 mal benutzen. Am besten in der onEnable()-Methode.

Edit: Du solltest dich mal mit den Java-Coding-Conventions auseinander setzen. Ein klein geschriebener Klassenname is nicht sehr üblich und auch nicht schön anzusehen^^.
 
Zuletzt bearbeitet:

JavaGamer

Bekanntes Mitglied
Ich hoffe die yaml file hat die richtigen Einrückungen. Um ein Childnode zu schreiben musst du 2 Leerzeichen davor setzen:

Code:
info:
  kontaktdaten:

Außerdem bin ich mir ned sicher ob ein Bindestrich in YAML Dateien erlaubt ist, bzw. ob dieser nicht Fehler verursacht.

Außerdem erstellst du bei jedem neuen onCommand() Aufruf die Config mit den Default-Werten neu. Default werte sollten aber nur 1 mal vergeben werden, oder dann wenn du einen Wert wirklich auf den Defaultwert zurücklegen willst.

Java:
this.getConfig().addDefault() // nur 1 mal benutzen. Am besten in der onEnable()-Methode.
Also ich habe jetzt mal hier ein wenig gegoogelt und anscheinend ist ein Bindestrich in einer Config erlaubt.
Mit dem addDefault() nur 1 mal benutzen hast du unrecht. Diese Methode kann man nicht nur einmal verwenden, da bei jedem Server start automatisch die onEnable()-Methode aufgerufen wird und würde man diese an anderen Orten plazieren würde diese Methode erneut aufgerufen. Die Methode addDefault() erzeugt auch nicht jedes mal die gesammte Config neu. So wie er seine Config erstellen lässt, wird diese nur erstellt sollte keine vorhanden sein und sobald Zeilen in der Config fehlen werden diese neu hinzugefügt aber die anderen nicht überschrieben.

Was macht eigentlich deine Config in der onCommand Methode. Da gehört diese definitiv nicht hin. Zudem hast du auch keinen Befehl erstellt --> Das heisst du kannst die Nachricht eigentlich nicht ausgeben, aber wie genau in diesem fall dies gehand habt wird von Bukkit weiss ich nicht.

Zudem wird dir die Nachricht ausgegeben bevor die Einträge in der Config erstellt werden, sollte dies hier die Nachricht ausgeben:
Java:
cs.sendMessage("Skype:" + " " + " Teamspeak:");
Wenn dies dir deine Nachricht ausgeben sollte, dann wird das so nicht funktionieren.
1. Warum
Java:
+ " " +
? Das bewirkt rein garnichts.
2. Wo steht hier den bitte dass Bukkit die Werte aus der Config auslesen und in die Nachricht einfügen soll?
3. In der onCommand-Methode werden Befehle erstellt und in diesen Befehlen kommt dann der Code rein, denn du einfach so da rein geschrieben hast. Zudem müssen die Befehle in der plugin.yml auch noch hineingeschrieben werden.
4. Zum erstellen einer Config erstellt man sich normalerweise eine extra Methode die dann in der onEnable Methode aufgerufen werden. Du kannst dies natürlich auch in deine onEnable-Methode einfügen, aber wegen der Übersicht ist dies nicht so optimal. Aber in der onCommand Methode gehört diese schon mal garnicht hinein.
5. So wie du jetzt die Strings in der Config eingespeichert hast, musst du diese für deine Nachricht wieder auseinander frimeln --> Das geht viel einfacher. Aber warum einfach wenns auch umständlich geht.

Also ich würde dir als erstes mal empfehlen Java zu lernen und danach Tutorials zu Bukkit anschauen, bevor du mit so etwas anfängst.
Hier hast du mal ein paar Tutorials zum erstellen einer Config-File:
Hier hast du mal ein paar Tutorials zu Bukkit:
Und zu guter letzt noch ein paar Java Tutorials:

Natürlich könnte ich dir jetzt auch deinen Code so umschreiben dass dieser Funktioniert aber wird dir dies denke ich eher weniger helfen.

lg
JavaGamer
 
Zuletzt bearbeitet:

sirkarpfen

Mitglied
Jo da hab ich mich wohl geirrt bei addDefault. Ist auch schon länger her als ich das letzte mal ein Bukkit-Plugin geschrieben hab^^. Ich sehe aber nicht wo er überprüft ob Einträge fehlen. Er macht bei einfach jedem onCommand-Aufruf ein this.getConfig.addDefault() und das ist wirklich nicht sehr elegant, vor allem weil er nichtmal nach seinem Command abfragt und somit die Config bei jedem Command das eingegeben wird neu mit den Default Werten beschrieben wird.

Back to Topic:

Du solltest dir definitiv ein paar mehr Java Grundlagen zulegen bevor du dich an Bukkit-Plugins wagst. Ich hoffe außerdem das die fehlende Einrückung deines Codes am Forum liegt und nicht an dir selbst^^.
 

JavaGamer

Bekanntes Mitglied
Jo da hab ich mich wohl geirrt bei addDefault. Ist auch schon länger her als ich das letzte mal ein Bukkit-Plugin geschrieben hab^^. Ich sehe aber nicht wo er überprüft ob Einträge fehlen. Er macht bei einfach jedem onCommand-Aufruf ein this.getConfig.addDefault() und das ist wirklich nicht sehr elegant, vor allem weil er nichtmal nach seinem Command abfragt und somit die Config bei jedem Command das eingegeben wird neu mit den Default Werten beschrieben wird.

Back to Topic:

Du solltest dir definitiv ein paar mehr Java Grundlagen zulegen bevor du dich an Bukkit-Plugins wagst. Ich hoffe außerdem das die fehlende Einrückung deines Codes am Forum liegt und nicht an dir selbst^^.

Ich denke mal das er dies im Bukkit-Code macht, also dass dies in der Methode addDefault defentiert ist. Wie genau Bukkit dies handhabt weiss ich aber auch nicht, nur aus eigener Erfahrung das Bukkit dass dann überprüft und ergänzt. Ich denke mal er liest den Code in addDefault und überprüft dann ob dies in der Config vorhanden ist und ob eine Config überhaupt vorhanden ist und wenn nicht fügt der das einfach in die Config ein.
Ich habe eigentlich auch schon lange kein Plugin mehr für Bukkit geschrieben, habe aber noch meinen SRC Code meiner bisherigen Plugins und konnte dementsprechend einfach kurz nachschauen :p
Wobei mir persönlich reines Java und Forge eh lieber sind, mit der Ausnahme von Forge für 1.7.2.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Minecraft Spigot-Plugin | Schusswaffe programmieren Spiele- und Multimedia-Programmierung 3
Plug-inMacher Minecraft Plugin mit Itemstack kreierte Items weiterverwenden Spiele- und Multimedia-Programmierung 2
M Minecraft Spigot Plugin kompilieren Spiele- und Multimedia-Programmierung 4
T Minecraft Event Plugin Spiele- und Multimedia-Programmierung 6
A Minecraft Plugin, welches nur bestimmten Block zum bebauen festlegt Spiele- und Multimedia-Programmierung 26
I Minecraft Minecraft Minigame Plugin (Bug) Spiele- und Multimedia-Programmierung 0
T Minecraft Spigot Plugin [Minecraft] Spiele- und Multimedia-Programmierung 1
T Minecraft Spigot Plugin [Minecraft] Spiele- und Multimedia-Programmierung 2
M Minecraft Minecraft Plugin Fehlermeldung! Spiele- und Multimedia-Programmierung 2
I Minecraft Suche Plugin Developer für Minecraft Netzwerk! Spiele- und Multimedia-Programmierung 2
I Minecraft Plugin: Auf Spielerantwort warten Spiele- und Multimedia-Programmierung 1
M Minecraft Minecraft Plugin Fehlermeldung Spiele- und Multimedia-Programmierung 13
C Minecraft Minecraft Plugin Problem Spiele- und Multimedia-Programmierung 17
C Minecraft Plugin 'Ancient Gates' Spiele- und Multimedia-Programmierung 0
T Minecraft Bukkit Plugin Text Datei auslesen Spiele- und Multimedia-Programmierung 1
M Minecraft Minecraft Kit Plugin mit Eclipse Spiele- und Multimedia-Programmierung 8
A Minecraft Plugin Teleport Fehler Spiele- und Multimedia-Programmierung 1
H Minecraft Minecraft Plugin Spiele- und Multimedia-Programmierung 3
D Minecraft Config in andere Class laden/Minecraft Plugin Spiele- und Multimedia-Programmierung 1
F Minecraft Bukkit Plugin - Inventory wiederherstellung? Spiele- und Multimedia-Programmierung 2
L Minecraft Minecraft Bukkit Plugin hilfe Spiele- und Multimedia-Programmierung 9
B Hilfe bei Minecraft Plugin Spiele- und Multimedia-Programmierung 3
T Minecraft Minecraft Plugin Spiele- und Multimedia-Programmierung 0
E Minecraft Ich bekomme diesen unbekannten Fehlercode von Minecraft Spiele- und Multimedia-Programmierung 2
S Minecraft Server Status Abfragen Spiele- und Multimedia-Programmierung 9
Lord_Joker Minecraft Server Bat error Spiele- und Multimedia-Programmierung 2
A [HILFE] - Minecraft-Problem! Spiele- und Multimedia-Programmierung 1
N Minecraft Frage für einen Minecraft Server Spiele- und Multimedia-Programmierung 2
W Minecraft Client exportieren Spiele- und Multimedia-Programmierung 0
Joris Minecraft Minecraft Java Server Spiele- und Multimedia-Programmierung 6
Shanic Minecraft Minecraft Forge Server "Falsche Java Version" Spiele- und Multimedia-Programmierung 6
KIWILETSPLAY How can i delete a Minecraft world Spiele- und Multimedia-Programmierung 0
Taknax Minecraft: Export der Mod dupliziert Dateien Spiele- und Multimedia-Programmierung 0
Mika_MDF Minecraft Eclipse startet Minecraft nicht? Spiele- und Multimedia-Programmierung 23
C Minecraft Spigot Entities 1.8 Spiele- und Multimedia-Programmierung 2
C Eigene Minecraft Enchantements Spiele- und Multimedia-Programmierung 1
C Minecraft Enchantements Spiele- und Multimedia-Programmierung 1
Z Minecraft Hilfe bei Minecraft PvP Client Spiele- und Multimedia-Programmierung 21
K Minecraft Minecraft "Griefergames" CobbleBot Spiele- und Multimedia-Programmierung 10
lolzo Minecraft Minecraft: Exit Code: 0 Spiele- und Multimedia-Programmierung 3
N Musikplayer in Minecraft Spiele- und Multimedia-Programmierung 0
G Minecraft PlayerBot (Listener Thread für jeden Spieler?) Spiele- und Multimedia-Programmierung 3
F Spigot 1.14 Minecraft Welt file löschen Spiele- und Multimedia-Programmierung 6
I Minecraft Support Bot Mod Spiele- und Multimedia-Programmierung 8
JeremyStarTM Minecraft Minecraft Spigot Server akzeptiert JAR-Version nicht Spiele- und Multimedia-Programmierung 8
M Minecraft Minecraft 1.12.2 Plotrand ändern Spiele- und Multimedia-Programmierung 1
L wo sehe ich die Range und die Hitbox im Minecraft Sourcecode? Spiele- und Multimedia-Programmierung 2
M Minecraft Spieler move/run (bewegen) Spiele- und Multimedia-Programmierung 0
M Minecraft neue setDirection() (Blickrichtung) setzten Spiele- und Multimedia-Programmierung 5
D Minecraft [Minecraft] Java Start Fehler (Core-Dump) Spiele- und Multimedia-Programmierung 1
Z Minecraft Multiplayer geht nicht Spiele- und Multimedia-Programmierung 2
A Minecraft Withdraw und Deposit Spiele- und Multimedia-Programmierung 1
L Minecraft 1.7.10 Server startet nicht Spiele- und Multimedia-Programmierung 1
B Minecraft Scoreboard Spiele- und Multimedia-Programmierung 3
B Programmieren wie der Befehl /ban in Minecraft geblockt wird aber nicht /ban mit einem Argument Spiele- und Multimedia-Programmierung 1
T Minecraft Minecraft Scoreboard Spiele- und Multimedia-Programmierung 1
L Minecraft [Minecraft] Spigot und JavaFX mit fxml Spiele- und Multimedia-Programmierung 0
L Minecraft Minecraft Bukkit Entwickler Spiele- und Multimedia-Programmierung 0
C [Minecraft] Launcher Spiele- und Multimedia-Programmierung 14
T Minecraft Minecraft-Server pingt lange Spiele- und Multimedia-Programmierung 3
J Minecraft Coding BlockBreakEvent Spiele- und Multimedia-Programmierung 2
KeexZDeveoper Launcher (Minecraft) Spiele- und Multimedia-Programmierung 1
J Minecraft Minecraft Obfuscation Spiele- und Multimedia-Programmierung 1
C Minecraft Coding Spiele- und Multimedia-Programmierung 8
C Minecraft Coding Spiele- und Multimedia-Programmierung 5
S Minecraft Minecraft crasht! Spiele- und Multimedia-Programmierung 3
I Minecraft: Craftingrecipe für Braustand ändern Spiele- und Multimedia-Programmierung 9
A Minecraft Minecraft Autojump Spiele- und Multimedia-Programmierung 2
H Minecraft Minecraft Error Spiele- und Multimedia-Programmierung 7
D Minecraft Java JDK installiert - Minecraft läuft nichtmehr in 64 Bit Spiele- und Multimedia-Programmierung 2
DanielsLPecke Minecraft Bukkit Scheduler. ALLGEMEIN. Spiele- und Multimedia-Programmierung 1
K Minecraft-Forge Mod Programmierung Spiele- und Multimedia-Programmierung 1
L Minecraft Minecraft Serversoftware Entwickler gesucht Spiele- und Multimedia-Programmierung 5
T Problem mit Eclipse (java)-(minecraft) Spiele- und Multimedia-Programmierung 3
W Minecraft wie Minidumps aktivierren ? (kein Minecraft) Spiele- und Multimedia-Programmierung 0
C +++Minecraft Plug-In Programmierer gesucht+++ Spiele- und Multimedia-Programmierung 3
L Minecraft - BungeePerms Spiele- und Multimedia-Programmierung 1
F Minecraft Bot Mouse Inputs Spiele- und Multimedia-Programmierung 3
U Minecraft Mit Java auf Minecraft Server anmelden Spiele- und Multimedia-Programmierung 11
lord239123 Minecraft Nur sichtbare Objekte rendern Spiele- und Multimedia-Programmierung 5
X Minecraft Wie kann ich eine Karte erstellen wie zb:(Bei Minecraft) Spiele- und Multimedia-Programmierung 1
OnDemand Minecraft Minecraft Anforderungen Spiele- und Multimedia-Programmierung 1
OnDemand Minecraft Minecraft Spiele- und Multimedia-Programmierung 5
B Minecraft mehr Ram zuweißen Problem Spiele- und Multimedia-Programmierung 0
J Minecraft Problem mit dem JRE - Minecraft Spiele- und Multimedia-Programmierung 3
H [Minecraft] Eclipse Spiele- und Multimedia-Programmierung 3
H Minecraft Minecraft counter Spiele- und Multimedia-Programmierung 1
N Minecraft Minecraft Mod Launcher Spiele- und Multimedia-Programmierung 1
A Minecraft Java Ubuntu Minecraft Server startet nicht - ERROR (SIGSEGV) Spiele- und Multimedia-Programmierung 7
A Minecraft Minecraft, Programm funktioniert nur in Eclipse richtig Spiele- und Multimedia-Programmierung 24
N Minecraft java lernen minecraft Spiele- und Multimedia-Programmierung 20
T Minecraft Launcher Minecraft Spiele- und Multimedia-Programmierung 29
T Minecraft Minecraft im Forum Spiele- und Multimedia-Programmierung 16
M Minecraft weitere Java Entwickler für minecraft projekt gesucht Spiele- und Multimedia-Programmierung 0
I Minecraft Java programmierungs fehler "MineCraft" Spiele- und Multimedia-Programmierung 6
I Minecraft NBT Minecraft *.dat-Datei - Verständnisproblem Spiele- und Multimedia-Programmierung 26
R Minecraft Minecraft läuft nicht paralel mit minecraft server ? Spiele- und Multimedia-Programmierung 3
G Minecraft Minecraft / Knuddels Spiele- und Multimedia-Programmierung 7
1 Minecraft Minecraft Plugins programmieren Spiele- und Multimedia-Programmierung 6
J Minecraft Eigene Buttons "bauen" á la MineCraft Spiele- und Multimedia-Programmierung 11

Ähnliche Java Themen

Neue Themen


Oben