Eclipse import org.bukkit.Bukkit funktioniert nicht?
Hallo,
ich wollte mal wieder mit dem Programmieren von Minecraft Plugins beginnen. Ich habe mir dazu auch mal ein Buch von Daniel Braun gekauft um erstmal in die Materie hineinzukommen. Jetzt habe ich aber das Problem dass ich ein Plugin für Spigot programmieren wollte, bei der der Server eine Ausgabe tätigt wenn man einen Befehl eingibt. Es ist aber leider direkt am Anfang gescheitert und zwar weil Eclipse sagt: "The import org.bukkit.Bukkit cannot be resolved." Wenn ich eingebe import org.bukkit dann wird mir zwar org.bukkit.craftbukkit vorgeschlagen aber sonst nichts. Was muss ich tun damit es funktioniert?
Hast du die Datei auch hinzugefügt das sie auch importiert werden könnte?
Oder es entsprechend zur POM für Maven hinzugefügt?
Du einmal bitte auf Dulli-deutsch ich bin nicht wirklich in der Materie drin
3 Antworten
Also ich bin wirklich kein Plugin bzw. Mod Entwickler, ich kann dir nur zu Java generell etwas erzählen.
Also das was hier das Problem ist ist, dass du versuchst auf ein "Paket" zuzugreifen, welches von deiner IDE (ich nehme an du verwendest Eclipse) nicht gefunden werden kann.
Stell dir das ein wenig wie ein Ordner vor, aus welchem du etwas herausladen willst.
Hier willst du praktisch aus dem "Verzeichnis" org.bukkit.Bukkit eine Datei mit verschiedenen Funktionen zu importieren, damit du mit diesen Arbeiten kannst, und deine IDE sagt dir dass dieses Paket nicht exisitiert.
Also generell fallen mir jetzt 2 Ansätze ein;
1. Du hast Bukkit nicht so installiert wie du das eigentlich solltest. Zugegebenermaßen weiß ich jetzt nicht genau was Bukkit genau ist, ich nehme aber an ähnlich wie Minecraft-Forge, nur mit Servern, also eine API (Application Programming Interface), also eine Schnittstelle für einen Minecraft-Server für welche du Plugins entwickeln kannst. Ich finde APIs kann man sich ein wenig so vorstellen wie eine Herdplatte mit verschiedenen Tasten. Wenn du die Temperatur hochdrehst, dann machst du das über die + Taste. Was genau im Hintergrund in der Elektronik genau passiert ist dir dabei egal, du "kommunizierst" praktisch mit der Herdplatte über die Schnittstelle (die Tasten). Gleiches gilt für Bukkit, die "Mod" bietet dir praktisch "Befehle" an, welche es dir erlauben mit dem Minecraft-Server zu kommunizieren, und für diese "Befehlsschnittstelle" kannst du eben ein Plugin schreiben. Spingot ist praktisch das gleiche, nur eine andere Sammlung an Befehlen. Schau vielleicht nochmal dass Bukkit-Bibliothek ordnungsgemäß installiert worden ist.
2. Du hast dich irgendwie mit dem Namen des Pakets vertan (das kann mal passieren, halte ich aber in diesem Fall für ein wenig unwahrscheinlich). Was deine IDE hier macht ist zu sagen: "Hey, das Paket was du suchst finde ich nicht, ich finde aber so etwas ähnliches, und das "ähnliche" Paket wird dir dann vorgeschlagen, ob du das nicht stattdessen importieren willst. Du kannst dein Vorhaben gerne damit probieren, vielleicht ist dein Buch etwas "älter" und die Paketnahmen wurden in einer neueren Version verändert, alternativ kannst du aber auch einfach schreiben
import org.bukkit.*
bzw.
import org.*
wobei letzeres eigentlich nicht zu empfehlen ist, da du damit jedes sub-paket welches sich in org befindet isntallierst. Probier also zuerst mal ersteres.
Damit sagst du java, es soll bitte alle Pakete importieren, welche sich in org.bukkit befinden. Wenn es damit nicht klappt, solltest du nochmal schauen ob du bei der installation alles richtig gemacht hast.
Generell ist deine Frage aber ein schönes Beispiel dafür warum ich kein Fan davon bin als Programmiereinsteiger direkt mit solch praktischen Projekten zu beginnen. Es gibt dann einfach viel zu viel was du am Anfang nicht verstehst, sondern einfach so "hinnehmen" musst, und das ist eigentlich nicht die Art und weise wie man Programmieren lernen sollte.
Eigentlich fängt man damit an sich grundlegende Sprachkonzepte anzueignen und diese zu verstehen, bevor man dann Anfängt mit Fremdbibliotheken, Frameworks zu arbeiten, und Programme für APIs schreibt. Sich direkt mit APIs zu beschäftigen finde ich nicht sonderlich sinnvoll, da du erstmal sehr viel einfach nur "nachmachst" ohne verstanden zu haben was du da eigentlich versuchst...
War jetzt ne lange Antwort, ich hoffe ich konnte dir weiterhelfen
Lg Valentin :)
Hallo
Ich würde dir raten statt Eclipse IntelliJ als IDE für Minecraft Plugins zu benutzen da es dort im Marketplace Plugins gibt die die Bukkit / Spigot API beinhalten also musst du keine Externen JARS hinzufügen. Ich habe ein cooles video wo das ganze erklärt wird https://www.youtube.com/watch?v=xd4RZKY0Qf8&list=PLZDERUytIKbS6dF7NwEAR7YBqup-29WWg (das kapitel mit der servereinrichtung kannst du überspringen da du ja bereits einen server hast)
Hier noch ein link zu der ganzen Playlist
https://www.youtube.com/playlist?list=PLZDERUytIKbS6dF7NwEAR7YBqup-29WWg
für das Packen der JAR sollte ein click auf den Grünen run button oben rechts genügen
Falls du mehr fragen hast antworte mir Einfach :) LG
Ich habe jetzt nochmal im internet Recherchiert und das hier gefunden
https://hub.spigotmc.org/javadocs/spigot/
Hier findest du alle Pakete welche dir Bukkit zur verfügung steht, ich hatte übrigens nicht Recht dabei dass Spingot eine andere API wäre, es ist eigentlich mehr eine Bukkit-Erweiterung.
zumindest kann ich in dieser Dokumentation das von dir gesuchte Paket nicht finden, daher bin ich mir relativ sicher dass dein Buch einfach schon etwas älter ist und sich in einer neueren Version der API die Paketnamen geändert haben.
Daher sollte es eigentlich mit
import org.bukkit.*;
funktionieren, oder du suchst einfach mal selbst in der Dokumentation nach welches Paket du genau benötigst :)
LG