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

Join Nachricht

Map_der_echte

Redstoneengineer
Mitglied seit
28 September 2018
Beiträge
34
Ich habe den Code für den die Nachricht wenn ein Spieler joint vom Internet abgeschrieben und es funktioniert nicht.

Java:
 @EventHandler
        public void onPlayerJoin(PlayerJoinEvent e) {
                e.getPlayer().sendMessage("Message Here");
            }
Der Fehlercode
Code:
Error:(49, 33) java: ';' expected
Error:(49, 51) java: ';' expected
 

SirYwell

Vorarbeiter
Osterei Experte
Mitglied seit
30 Juni 2017
Beiträge
240
Alter
20
Minecraft
SirYwell
Da wir nur diesen kleinen Ausschnitt haben, wissen wir nicht, was bei Zeile 49 ist. Hast du da zufällig eine for-Schleife irgendwo?
 

Map_der_echte

Redstoneengineer
Mitglied seit
28 September 2018
Beiträge
34
Java:
package at.Map_der_echte;

import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin {
    Player e;
    String präfix = "[Uebung]";

    public void onEnable() {
        System.out.println(präfix + "Das Plugin wurde erfolgreich gestartet");
    }

    public void onDisable() {
        System.out.println(präfix + "Das Plugin wurde gestoppt!");
    }



    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] arg) {
        Player p = (Player) sender;
        if (sender instanceof Player) {
            if (cmd.getName().equalsIgnoreCase("heal")) {
                p.setHealth(20);
                p.sendMessage("Du wurdest erfolgreich geheilt.");
            } else if (cmd.getName().equalsIgnoreCase("eat")) {
                p.setFoodLevel(20);
            } else if (cmd.getName().equalsIgnoreCase("xp")) {
                if (arg.length == 1) {

                    int xp = Integer.valueOf(arg[0]);
                    p.setLevel(xp);

                }
            }



        } else {
            sender.sendMessage("Du kannst diesen Command nicht in der Console eingeben");
        }
        return false;
        @EventHandler
        public void onPlayerJoin(PlayerJoinEvent e) {
                e.getPlayer().sendMessage("Message Here");
            }

        }
    }
 

Avankziar

Kuhfänger
Osterei Experte
Mitglied seit
12 Februar 2018
Beiträge
81
Alter
26
Minecraft
Avankziar
Bitte Klasse und Fehlermeldung bei https://pastebin.com hochladen. Es einfach so zu posten macht es extrem anstregend für uns dir helfen... Danke

Edit: Wie es aussieht hast du dein PlayerJoinEvent in dein Command Code reingepackt und das geht nicht, aka es fehlen } Klammern.
 
Zuletzt bearbeitet:

JOO200

Vorarbeiter
Osterei Experte
Mitglied seit
18 Dezember 2016
Beiträge
250
Außerdem musst du dein Listener noch in Bukkit registrieren (in der onEnable-Methode).
Code:
getServer().getPluginManager().registerEvents(this, this);
, wenn mich nicht alles täuscht.
 

SirYwell

Vorarbeiter
Osterei Experte
Mitglied seit
30 Juni 2017
Beiträge
240
Alter
20
Minecraft
SirYwell
Abgesehen davon, dass du deinen Quellcode sinnvoll in verschiedene Klassen aufteilen solltest, wäre es auch ratsam, mal die Grundlagen von Java anzuschauen.

Java:
Player p = (Player) sender;
if (sender instanceof Player) {
Das wird dir beispielsweise einen Fehler um die Ohren hauen, wenn der CommandSender KEIN Spieler ist.
 

JOO200

Vorarbeiter
Osterei Experte
Mitglied seit
18 Dezember 2016
Beiträge
250
Java:
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] arg) {
        Player p = (Player) sender;
        if (sender instanceof Player) {
            if (cmd.getName().equalsIgnoreCase("heal")) {
                p.setHealth(20);
                p.sendMessage("Du wurdest erfolgreich geheilt.");
            } else if (cmd.getName().equalsIgnoreCase("eat")) {
                p.setFoodLevel(20);
            } else if (cmd.getName().equalsIgnoreCase("xp")) {
                if (arg.length == 1) {

                    int xp = Integer.valueOf(arg[0]);
                    p.setLevel(xp);

                }
            }



        } else {
            sender.sendMessage("Du kannst diesen Command nicht in der Console eingeben");
        }
        return false;
        @EventHandler
        public void PlayerJoin(PlayerJoinEvent e) {
                e.getPlayer().sendMessage("Message Here");
            }

        }
Deine Methode "public void PlayerJoin(PlayerJoinEvent e)" hat folgende Probleme:
1. Sie ist nach Java-Conventions nicht mit einem kleinen Buchstaben geschrieben (Empfehlung: Umbenennung zu onPlayerJoin)
2. Sie ist falsch eingerückt. Ich habe hier einmal die Methode "onCommand(..)" rauskopiert, anhand der Anzahl von geschweiften Klammern kann man erkennen, dass diese nicht rechtzeitig geschlossen wird. Hinter dem "return false;" fehlt eine geschweifte Klammer ZU, weswegen deine nachfolgende Methodendeklaration an dieser Stelle nicht zulässig ist.

Punkt 2 hat schon bereits @Avankziar geschrieben.
 
Allgemein
Hilfe Benutzer
    iTz_Proph3t iTz_Proph3t: hö?
    Oben