• Wir präsentieren Dir heute ein Stellenangebot für einen Java Entwickler - m/w/d in Augsburg, München, Stuttgart oder Bamberg. Hier geht es zur Jobanzeige

Minecraft Koordinaten mit Intellij

Minecraft - Java Edition
shockyflocky

shockyflocky

Mitglied
Hey liebes Forum,

Ich fange grad erst an Minecraft Plugins zu programmieren und habe grade ein kleines Problem da ich versuche die Position des Spieler zu dem Wort(Variable) "pos" zuordnen weiß aber nicht wie das geht(Ich habe es versucht mit: Player pos = Bukkit.getCoordsPlayer. Das geht aber leider nicht). Könnt ihr mir da helfen?

LG shocky
 
kneitzel

kneitzel

Top Contributor
Mein Ratschlag wäre, dann erst einmal die Java Grundlagen zu lernen. Denn da ist ja noch nichts dabei, das Sinn macht....

Zu Java solltest Du Dir dann ggf. Tutorials ansehen. Da gibt es zur Not einiges an Videos auch auf YouTube. An Büchern gibt es einige, die hier regelmäßig empfohlen werden, z.B. "Java von Kopf bis Fuß". Es gibt aber auch kostenlos im Netz "Java ist auch eine Insel".

Bezüglich Plugin-Entwicklung findet sich dann z.B. https://bukkit.fandom.com/wiki/Plugin_Tutorial_(Eclipse)

Da würde man dann z.B. auch einen Codeschnipsel finden, wie an einen Spieler bekommt:
Java:
Player player = Bukkit.getServer().getPlayer("NameDesSpielers");

Und dort findet sich auch ein Hinweis, wo Du Dokumentation liegt:

Dort kann man dann mal schauen: Wenn man nach Player sucht, bekommt man die Dokumentation zu Player. Da findet man dann bei der Super-Klasse Entity auch getLocation. Und bei der Dokumentation dann auch, dass die Methode eine Location zurück gibt.

Was ist denn die Fehlermeldung?
- Bukkit hat keine Methode getCoords(player) oder getCoordsPlayer oder irgend etwas in der Art...
- Und wenn, dann würde getCoords eben Coords zurück geben und keinen Player.
Nicht vom Compiler aber einfach mal von mir...
 
shockyflocky

shockyflocky

Mitglied
Mein Ratschlag wäre, dann erst einmal die Java Grundlagen zu lernen. Denn da ist ja noch nichts dabei, das Sinn macht....

Zu Java solltest Du Dir dann ggf. Tutorials ansehen. Da gibt es zur Not einiges an Videos auch auf YouTube. An Büchern gibt es einige, die hier regelmäßig empfohlen werden, z.B. "Java von Kopf bis Fuß". Es gibt aber auch kostenlos im Netz "Java ist auch eine Insel".

Bezüglich Plugin-Entwicklung findet sich dann z.B. https://bukkit.fandom.com/wiki/Plugin_Tutorial_(Eclipse)

Da würde man dann z.B. auch einen Codeschnipsel finden, wie an einen Spieler bekommt:
Java:
Player player = Bukkit.getServer().getPlayer("NameDesSpielers");

Und dort findet sich auch ein Hinweis, wo Du Dokumentation liegt:

Dort kann man dann mal schauen: Wenn man nach Player sucht, bekommt man die Dokumentation zu Player. Da findet man dann bei der Super-Klasse Entity auch getLocation. Und bei der Dokumentation dann auch, dass die Methode eine Location zurück gibt.


- Bukkit hat keine Methode getCoords(player) oder getCoordsPlayer oder irgend etwas in der Art...
- Und wenn, dann würde getCoords eben Coords zurück geben und keinen Player.
Nicht vom Compiler aber einfach mal von mir...
Danke schön :)
 
shockyflocky

shockyflocky

Mitglied
Ich hätte noch eine Frage
Java:
Location pos = Bukkit.getPlayer(args[0]).getLocation();
target.spawnParticle(Particle.EXPLOSION_LARGE, pos);
Bei mir ist: (Particle.EXPLOSION_LARGE, pos) rot unterstrichen dabei habe ich es ja davor definiert was "pos" ist oder?
(Ich will das Plugin jetzt noch fertig coden und dann gucke ich mir die Java grundlagen an)
 
kneitzel

kneitzel

Top Contributor
Wenn Da etwas rot unterstrichen wird, dann solltest Du mit der Maus drüber gehen können um eine Fehlermeldung angezeigt zu bekommen.
Oder du übersetzt es einmal - dann bekommst Du auch Fehlermeldungen.

Zeige uns doch einfach einmal die ganze Methode, die Du da gerade schreibst, so dass wir sehen, was target für eine Variable ist.
 
shockyflocky

shockyflocky

Mitglied
Hier wäre die Ganze Klasse


Java:
public class ReviveCommand implements CommandExecutor {


    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (sender instanceof Player) {
            Player target = Bukkit.getPlayer(args[0]);

            if (args.length == 0) {
                sender.sendMessage("§8System §7>> §7Benutze /revive <Spieler>");
            }
        }
            if (args.length == 1) {
                Player target = Bukkit.getPlayer(args[0]);
                Player p = (Player) sender;
                if (target == null) {
                sender.sendMessage("§8System §7>> §cDieser Spieler ist zurzeit nicht auf dem Server");
            }
            if (target == p) {
                if (sender.hasPermission("revive.own")) {
                    target.setGameMode(GameMode.SURVIVAL);
                    target.setInvisible(false);
                    target.setWalkSpeed(0.2F);
                    sender.sendMessage("§8System §7>> §2Du hast dich selber erfoglreich geheilt!");

                } else {
                    sender.sendMessage("§8System §7>> §cDu kannst dich nicht selber heilen");
                    return true;
                }
            } else {
                Location pos = Bukkit.getPlayer(args[0]).getLocation();
                target.setGameMode(GameMode.SURVIVAL);
                target.setInvisible(false);
                target.setFlySpeed(0.2F);
                target.spawnParticle(Particle.EXPLOSION_LARGE, pos);
                target.sendMessage("§8System §7>> §2Du wurdest von " + sender.getName() + " geheilt");
                sender.sendMessage("§8System §7>> §2Du hast " + target.getName() + " geheilt");
            }
        }
            return true;
    }
}
 
kneitzel

kneitzel

Top Contributor
Ok, Player hat diverse spawnParticle Methoden, aber keine nimmt die zwei angegebenen Parameter.
Am nächsten kommt wohl die Variante, die noch ein count nimmt:

Also einfach mal Probieren, da paar Zahlen mit anzugeben, also z.B.:
target.spawnParticle(Particle.EXPLOSION_LARGE, pos, 10);
 
shockyflocky

shockyflocky

Mitglied
Ja ich kann ja so halb Minecraft coden viele YT Tutorials sagen halt das man Java nicht können muss ;)
 
kneitzel

kneitzel

Top Contributor
Ja ich kann ja so halb Minecraft coden viele YT Tutorials sagen halt das man Java nicht können muss ;)
Ja, man braucht keinen Führerschein um Auto zu fahren. Aber man sollte dennoch die Grundlagen kennen, wenn man ein Auto bewegen möchte....

Und wenn man die Regeln nicht kennt, dann bekommt man auch schnell einige Aggressionen ab :)

Wir sind hier in der Regel hilfsbereit und helfen gerne. Aber Tutorials kopieren oder selbst schreiben macht wenig Sinn. Daher einfach der Verweis. Die Punkte, die ich genannt habe, sollten ausreichen, selbst klar zu kommen. Aber dazu muss man verstehen, was man da sieht....

So hatte ich ja einen Link zur Dokumentation gebracht. So wäre es mit etwas Java Grundlagen einfach zu sehen: target ist eine variable vom Typ player - also die zuerst von mir genannte URL mit Dokumentation aufgerufen und oben rechts "Player" eingegeben. Und schon hätte man einfach geschaut, was für Methoden Player denn so anbietet ...

Oder es wäre dann einfach, die für uns wichtigen Informationen zu liefern, denn zum einen könnte Code eingeschätzt werden (Was brauchen wir vermutlich, um dir weiter zu helfen?) und Fehlermeldungen wären gesehen und kopiert worden (Siehe die Frage in #2 - Wir kennen diese Minecraft Plugins eigentlich nicht aber wir kennen alle möglichen Fehlermeldungen und wissen wie man prinzipiell damit umgehen sollte ...)

Bei so kleinen Spielereien egal, aber es kommt dann auch schnell der Punkt auf mit "clean code" und so. Die Methode oben würde ich als schwer lesbar ansehen. Aber das ist dann auch ein Punkte, der erst nach der Beherrschung der Grundlagen anfängt, Sinn zu machen.

Das nur so als Erläuterung. Aber wir konnten Dir ja weiter helfen denke ich mal. Und es spricht ja auch nichts gegen "Learning by Doing". Daher bist Du herzlich willkommen. Und wenn Du etwas Zeit damit zubringst, dazu zu lernen, dann bleibt auch bei uns die Bereitschaft hoch, dir bei weiteren Fragen zu helfen :)
 
Ähnliche Java Themen

Ähnliche Java Themen

Anzeige

Neue Themen


Oben