Coding mit Java | Java-basierten APIs

  • Ersteller Ersteller ij9F_i0FaF-d9lrDSDDpDbfo
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
PlayerAwardAchievmentEvent oder so ähnlich (angabe ohne gewähr)
 
wenn bei deinem command kein return true drinne ist wird nur return false gesendet was bedeutet er schickt dir wie es richtig gemacht werden muss
 
Hat jemand ein Idee wie ich jedem Block in mc eine random variable zuteilen kann?
Das ich zb. in mc /bv (blockid) machen kann und dann bekommt der ne variable währe echt nett wenn ihr mir helfen könntet bin schon richtig lange auf der suche nach einer Antwort...
MfG Tim
 
Moin Leute,

ich habe eine Frage zu meinem Plugin. Ich habe ein LobbyPlugin programmiert (noch nicht Debugged), dass auf meinem PC Testserver fast einwandfrei funktioniert. Dann habe ich das Plugin auf meinen Nitrado Server hochgeladen, damit meine Freunde es auch testen können. Aber, wenn ich auf dem Nitrado Server den Spawn setzte und dann aus dem BuildMode rausgehe, sollte ich eigentlich zum Spawn teleportiert werden, aber es kommt nur der folgende Error.

Außerdem kann ich die Datei, in der die Koordinaten abgespeichert werden im Plugin Ordner nicht finden.

Error:
PHP:
[21:27:00] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'buildmode' in plugin Lobbysystem v1.0
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[minecraft_server.jar:git-Spigot-"606148f"]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) ~[minecraft_server.jar:git-Spigot-"606148f"]
    at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchCommand(CraftServer.java:643) ~[minecraft_server.jar:git-Spigot-"606148f"]
    at net.minecraft.server.v1_8_R1.PlayerConnection.handleCommand(PlayerConnection.java:1105) [minecraft_server.jar:git-Spigot-"606148f"]
    at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:940) [minecraft_server.jar:git-Spigot-"606148f"]
    at net.minecraft.server.v1_8_R1.PacketPlayInChat.a(PacketPlayInChat.java:26) [minecraft_server.jar:git-Spigot-"606148f"]
    at net.minecraft.server.v1_8_R1.PacketPlayInChat.a(PacketPlayInChat.java:53) [minecraft_server.jar:git-Spigot-"606148f"]
    at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [minecraft_server.jar:git-Spigot-"606148f"]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0]
    at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:684) [minecraft_server.jar:git-Spigot-"606148f"]
    at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [minecraft_server.jar:git-Spigot-"606148f"]
    at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:625) [minecraft_server.jar:git-Spigot-"606148f"]
    at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:528) [minecraft_server.jar:git-Spigot-"606148f"]
    at java.lang.Thread.run(Thread.java:744) [?:1.8.0]
Caused by: java.lang.IllegalArgumentException: Name cannot be null
    at org.apache.commons.lang.Validate.notNull(Validate.java:192) ~[minecraft_server.jar:git-Spigot-"606148f"]
    at org.bukkit.craftbukkit.v1_8_R1.CraftServer.getWorld(CraftServer.java:996) ~[minecraft_server.jar:git-Spigot-"606148f"]
    at org.bukkit.Bukkit.getWorld(Bukkit.java:271) ~[minecraft_server.jar:git-Spigot-"606148f"]
    at me.lusu007.lobbysystem.Methoden.NavigatorItemMethoden.SpawnLoc.teleportspawn(SpawnLoc.java:79) ~[?:?]
    at me.lusu007.lobbysystem.Methoden.BuildGameMode.disableBuildMode(BuildGameMode.java:24) ~[?:?]
    at me.lusu007.lobbysystem.Commands.BuildMode.onCommand(BuildMode.java:33) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[minecraft_server.jar:git-Spigot-"606148f"]
    ... 14 more


Meine Buildmode-Class:
PHP:
package me.lusu007.lobbysystem.Commands;

import me.lusu007.lobbysystem.Main.Main;
import me.lusu007.lobbysystem.Methoden.BuildGameMode;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

/**
* Created by Lukas on 01.02.2015.
*/
public class BuildMode implements CommandExecutor {

    private final Main plugin;

    public BuildMode(Main main) {
        this.plugin = main;
    }

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        Player p = (Player) sender;

        if(sender instanceof Player) {
            if(p.hasPermission("server.build.mode")) {

                if(args[0].equalsIgnoreCase("on")) {
                    BuildGameMode.enableBuildMode(p);
                    return true;

                } else if(args[0].equalsIgnoreCase("off")) {
                    BuildGameMode.disableBuildMode(p);
                    return true;
                }
            }
        }

        return true;
    }
}

Die beiden Methoden in der Buildmode-Class:
PHP:
package me.lusu007.lobbysystem.Methoden;

import me.lusu007.lobbysystem.Methoden.NavigatorItemMethoden.SpawnLoc;
import org.bukkit.GameMode;
import org.bukkit.entity.Player;

/**
* Created by Lukas on 01.02.2015.
*/
public class BuildGameMode {

    public static void enableBuildMode(Player p) {
        InventoryClear.joinPlayer(p);

        p.setGameMode(GameMode.CREATIVE);
        p.setAllowFlight(true);
        p.setFlying(true);
    }

    public static void disableBuildMode(Player p) {
        InventoryClear.joinPlayer(p);

        InventoryItems.getInGameItems(p);
        SpawnLoc.teleportspawn(p);
    }
}

Der Set Spawn Befehl:
PHP:
package me.lusu007.lobbysystem.Methoden.NavigatorItemMethoden;

import de.slikey.effectlib.effect.HelixEffect;
import me.lusu007.lobbysystem.Main.Main;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Sound;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;

import java.io.File;
import java.io.IOException;

/**
* Created by Lukas on 30.01.2015.
*/
public class SpawnLoc {

    private static Main plugin;

    public SpawnLoc(Main main) {
        this.plugin = main;
    }

    public static void setspawnloc(Player p) {

        File file = new File("/plugins/LobbySystem", "spawn.yml");
        FileConfiguration cfg = YamlConfiguration.loadConfiguration(file);

        Location loc = p.getLocation();

        String world = p.getWorld().getName();
        double x = loc.getX();
        double y = loc.getY();
        double z = loc.getZ();
        double yaw = loc.getYaw();
        double pitch = loc.getPitch();

        cfg.set("spawn.spawn.world", world);
        cfg.set("spawn.spawn.x", x);
        cfg.set("spawn.spawn.y", y);
        cfg.set("spawn.spawn.z", z);
        cfg.set("spawn.spawn.yaw", yaw);
        cfg.set("spawn.spawn.pitch", pitch);

        try {
            cfg.save(file);
        } catch (IOException e) {
            e.printStackTrace();
        }

        p.sendMessage("§3Du hast erfolgreich den §6Spawn §3gesetzt!");
        p.playSound(p.getLocation(), Sound.LEVEL_UP, 1.0F, 1.0F);

        HelixEffect effect1 = new HelixEffect(plugin.em);
        effect1.setLocation(p.getLocation());
        effect1.start();

        HelixEffect effect2 = new HelixEffect(plugin.em);
        effect2.setLocation(p.getEyeLocation());
        effect2.start();


    }

    public static void teleportspawn(Player p) {

        File file = new File("/plugins/LobbySystem", "spawn.yml");
        FileConfiguration cfg = YamlConfiguration.loadConfiguration(file);

        String world = cfg.getString("spawn.spawn.world");
        double x = cfg.getDouble("spawn.spawn.x");
        double y = cfg.getDouble("spawn.spawn.y");
        double z = cfg.getDouble("spawn.spawn.z");
        double yaw = cfg.getDouble("spawn.spawn.yaw");
        double pitch = cfg.getDouble("spawn.spawn.pitch");

        Location loc = new Location(Bukkit.getWorld(world), x, y, z);
        loc.setYaw((float) yaw);
        loc.setPitch((float) pitch);

        p.teleport(loc);
    }
}

Ich hoffe ihr könnt mir helfen.

Gruß,
lusu007
 
WANN LERNT IHR ENDLICH MAL DAS LESEN DES VERDAMMTEN STACKTRACES???

Also.
Caused by: java.lang.IllegalArgumentException: Name cannot be null
das bedeutet das ein Objekt nicht "null" sein darf/soll. Es scheint an deiner "teleportspawn" Methode zu liegen. Das dort etwas "null" ist was nicht "null" sein sollte.
 
WANN LERNT IHR ENDLICH MAL DAS LESEN DES VERDAMMTEN STACKTRACES???

Also.
Caused by: java.lang.IllegalArgumentException: Name cannot be null
das bedeutet das ein Objekt nicht "null" sein darf/soll. Es scheint an deiner "teleportspawn" Methode zu liegen. Das dort etwas "null" ist was nicht "null" sein sollte.

Ich glaube, dass es die Location ist, da ich im Pluginordner wie gesagt auch die Dateien finden kann die erstellt worden sind. Auf meinem Testserver auf meinem PC geht es obwohl ich die Dateien auch nicht finden kann.
 
Hat jemand ein Idee wie ich jedem Block in mc eine random variable zuteilen kann?
Das ich zb. in mc /bv (blockid) machen kann und dann bekommt der ne variable währe echt nett wenn ihr mir helfen könntet bin schon richtig lange auf der suche nach einer Antwort...
MfG Tim

Was genau meinst du mit variable? Eine Zahl ein Objekt ein String?
Variable ist sehr unspezifisch... :)
Genauso wie: sollen diese random (....) auch nach einem Reload/Restart noch vorhanden sein? (Serialization der Werte?)
 
  • Like
Reaktionen: Gelox_
Status
Für weitere Antworten geschlossen.

Soziale Medien

  • X
  • TikTok

Über uns

  • GommeHD.net ist einer der größten Minecraft-Server der Welt. Dir gefällt unser Server? Dann unterstütze uns durch einen Kauf im Shop!
  • Shop