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

Plugin Fehler!

TheNockle

Minecrafter
Registriert
17 Mai 2014
Beiträge
1
Diamanten
0
Hi!
Ich hab' heute mit dem PLugin programmieren angefangen :)
Ich hab ein kleines Plugin geschrieben. Das Problem ist, dass der "easy"-Befehl Funktioniert, der "hard"-Befhel jdeoch nicht, dieser erscheint einfach weis im Chat. außerdem funktionieren alle sendMessage() Befehle nicht. Hat jemand eine Erklärung dafür?

Mein Code:
Java:
Code:
package main;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;

public class JumpAndRun extends JavaPlugin implements Listener {

	// Objektvariablen
	Location loc, loc2;
	double x, y, z,x2,y2,z2;
	float yaw, pitch,yaw2,pitch2;

	// Wenn das Plugin gestartet wird
	@Override
	public void onEnable() {

		System.out.println("[JNR] Jump n' Run Plugin wurde gestartet!");

		PluginManager pm = Bukkit.getPluginManager();

		pm.registerEvents(this, this);

	}

	@Override
	public void onDisable() {

		System.out.println("[JNR] Jump n' Run Plugin wurde ausgeschaltet!");

	}

	public boolean onCommand(CommandSender sender, Command cmd,
			String cmdLabel, String[] args) {

		Player p = (Player) sender;
		
		if (cmd.getName().equalsIgnoreCase("easy")) {

			if (p.hasPermission("jumpnrun.easy") || p.isOp()) {

				if (args.length == 0) {

					loc = p.getLocation();

					x = loc.getX();
					y = loc.getX();
					z = loc.getZ();
					yaw = loc.getYaw();
					pitch = loc.getPitch();

					p.sendMessage("§6 Spawm gesetzt!");

					return true;

				} else {

					p.sendMessage("§6Zu viele Argumente.");

					return true;

				}

			} else {

				p.sendMessage("§6Du hast keine Rechte dazu!");

				return true;

			}
			
		}
		if (cmd.getName().equalsIgnoreCase("hard")) {

			if (p.hasPermission("jumpnrun.hard") || p.isOp()) {

				if (args.length == 0) {

					loc2 = p.getLocation();

					x2 = loc2.getX();
					y2 = loc2.getX();
					z2 = loc2.getZ();
					yaw2 = loc2.getYaw();
					pitch2 = loc2.getPitch();

					p.sendMessage("§6 Spawm gesetzt!");
					System.out.println("test");
					return true;

				} else {

					p.sendMessage("§6Zu viele Argumente.");

					return true;

				}

			} else {

				p.sendMessage("§6Du hast keine Rechte dazu!");

				return true;

			}

		}
		return false;

	}
@EventHandler
	public void onMove(PlayerMoveEvent e) {
		Player p = e.getPlayer();
		Location neu = p.getLocation().clone();
		neu.setY((p.getLocation().getY() - 3));

		if (neu.getBlock().getType() == Material.SPONGE) {

			p.teleport(loc);

		}else

		if (neu.getBlock().getType() == Material.ENDER_STONE) {

			p.teleport(loc2);

		}
		
	}

}

Plugin.yml:
Code:
name: JNR
author: TheNockle
version: 1.0

main: main.JumpAndRun

commands:
  easy:
    description: Setzt den einfachen JumpAndRun
    usage: /<command>
  hard:
    description: Setzt den schweren JumpAndRun
    usage: /<command>

Ich freue mich auf eure Antworten :)

TheNockle
 

FelixKlauke

Erzengel
Ehem. Teammitglied
Registriert
5 Januar 2014
Beiträge
1.038
Diamanten
299
Minecraft
FelixKlauke
Code:
package main;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;

public class JumpAndRun extends JavaPlugin implements Listener {

    // Objektvariablen
    Location loc, loc2;
    double x, y, z,x2,y2,z2;
    float yaw, pitch,yaw2,pitch2;

    // Wenn das Plugin gestartet wird
    @Override
    public void onEnable() {

        System.out.println("[JNR] Jump n' Run Plugin wurde gestartet!");

        PluginManager pm = Bukkit.getPluginManager();

        pm.registerEvents(this, this);

    }

    @Override
    public void onDisable() {

        System.out.println("[JNR] Jump n' Run Plugin wurde ausgeschaltet!");

    }

    public boolean onCommand(CommandSender sender, Command cmd,
            String cmdLabel, String[] args) {

        Player p = (Player) sender;
        //[COLOR=#ff0000]Das gibt nen Fehler wenn es die Konsole ist[/COLOR]
        

        if (cmd.getName().equalsIgnoreCase("easy")) {

            if (p.hasPermission("jumpnrun.easy") || p.isOp()) {

                if (args.length == 0) {

                    loc = p.getLocation();
                   //[COLOR=#ff0000]Aua wenns die Konsole ist[/COLOR]
                    x = loc.getX();
                    y = loc.getX();
                    z = loc.getZ();
                    yaw = loc.getYaw();
                    pitch = loc.getPitch();
                    //[COLOR=#FF0000]Das gibt nen Fehler wenn es die Konsole ist[/COLOR]

                    p.sendMessage("§6 Spawm gesetzt!");
                      //[COLOR=#FF0000]Was wird da gesetzt ? Du hast nur ne Location gegettet und sinnlose Vaiablen erstellt[/COLOR]
                    //[COLOR=#ff0000]Schreibfehler[/COLOR]
                    return true;

                } else {

                    p.sendMessage("§6Zu viele Argumente.");

                    return true;

                }

            } else {

                p.sendMessage("§6Du hast keine Rechte dazu!");

                return true;

            }
            
        }
        if (cmd.getName().equalsIgnoreCase("hard")) {

            if (p.hasPermission("jumpnrun.hard") || p.isOp()) {
        
                if (args.length == 0) {

                    loc2 = p.getLocation();
                     
 //[COLOR=#ff0000]Was bringt das hier denn ? Sinnlose variablen..[/COLOR][COLOR=#ff0000]Die du nichtmals mehr verarbeitest [/COLOR]
                    x2 = loc2.getX();
                    y2 = loc2.getX();
                    z2 = loc2.getZ();
                    yaw2 = loc2.getYaw();
                    pitch2 = loc2.getPitch();

                    p.sendMessage("§6 Spawm gesetzt!");
                    //[COLOR=#ff0000]Was wird da gesetzt ? Du hast nur ne Location gegettet und sinnlose Vaiablen erstellt[/COLOR]
                    System.out.println("test");
                    return true;

                } else {

                    p.sendMessage("§6Zu viele Argumente.");

                    return true;

                }

            } else {

                p.sendMessage("§6Du hast keine Rechte dazu!");

                return true;

            }

        }

        //[COLOR=#ff0000]Warum returnst du generell false ? Dadurch kriste das weiße im Chat[/COLOR]
        return false;

    }



@EventHandler
    public void onMove(PlayerMoveEvent e) {
        Player p = e.getPlayer();
        Location neu = p.getLocation().clone();
        neu.setY((p.getLocation().getY() - 3));

        if (neu.getBlock().getType() == Material.SPONGE) {
//[COLOR=#FF0000]Wenn der Spieler vorher das Kommando garnicht eingegeben hat kriegst du nen Fehler [/COLOR]
            p.teleport(loc);

        }else

        if (neu.getBlock().getType() == Material.ENDER_STONE) {
//[COLOR=#FF0000]Wenn der Spieler vorher das Kommando garnicht eingegeben hat kriegst du nen Fehler [/COLOR]
            p.teleport(loc2);

        }
        
    }

}

Rot sind meine Tipps und so
 
Zuletzt bearbeitet:
Oben