Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Rekomendowane odpowiedzi

Opublikowano

Błąd z konsoli:

 

[16:07:30 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'zarejestruj' in plugin SeyCore v1.0 - beta1
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-79a30d7-f4830a1]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot.jar:git-Spigot-79a30d7-f4830a1]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:648) ~[spigot.jar:git-Spigot-79a30d7-f4830a1]
        at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1401) [spigot.jar:git-Spigot-79a30d7-f4830a1]
        at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1236) [spigot.jar:git-Spigot-79a30d7-f4830a1]
        at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot.jar:git-Spigot-79a30d7-f4830a1]
        at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot.jar:git-Spigot-79a30d7-f4830a1]
        at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-Spigot-79a30d7-f4830a1]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [spigot.jar:git-Spigot-79a30d7-f4830a1]
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748) [spigot.jar:git-Spigot-79a30d7-f4830a1]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [spigot.jar:git-Spigot-79a30d7-f4830a1]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [spigot.jar:git-Spigot-79a30d7-f4830a1]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [spigot.jar:git-Spigot-79a30d7-f4830a1]
        at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: java.lang.NullPointerException: Cannot invoke "org.bukkit.configuration.file.FileConfiguration.getString(String)" because the return value of "seycore.n_pzdr.playerdata.PlayerData.getData()" is null
        at seycore.n_pzdr.commands.RegisterCommand.onCommand(RegisterCommand.java:33) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-79a30d7-f4830a1]
        ... 15 more

 

 

 

 

 

 

 

Klasa RegisterCommand:

 

import java.util.UUID;

import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.event.EventHandler;
import org.bukkit.entity.Player;

import seycore.n_pzdr.Main;
import seycore.n_pzdr.events.onJoin;
import seycore.n_pzdr.playerdata.PlayerData;

public class RegisterCommand implements CommandExecutor{
    
    Main plugin;
    PlayerData pd;
    
    public RegisterCommand(Main m) {
        plugin = m;
        m.getCommand("register").setExecutor(this);  
        
        pd = PlayerData.getInstance();
    }

    @EventHandler
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String arg2, String[] args) {
        Player p = (Player)sender;
        UUID uuid = p.getUniqueId();
        
        if(pd.getData().getString(uuid + ".pass") == null) {
            if(args.length == 2) {
                String pass1 = args[0];
                
                if(args[0].equalsIgnoreCase(args[1])) {
                    pd.getData().set(uuid + ".pass", pass1);    
                    pd.saveData();
                    
                    onJoin.LoggedIn.put(uuid, true);
                    
                    p.sendMessage("§aZostałeś zarejestrowany");                
                } else {
                    p.sendMessage("§cTe hasła się nie zgadzają");              

                }
                
            }
        } else {
            p.sendMessage("§cUżycie: §F/zarejestruj <haslo> <haslo>");
            
        }
        
                
        
    
    return false;
}
    }

 

 

 

 

Klasa PlayerData:

 

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

import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.plugin.Plugin;

import net.md_5.bungee.api.ChatColor;

public class PlayerData {
    
    static PlayerData instance;
    Plugin p;
    FileConfiguration data;
    public static File rfile;
    
    static {
        instance = new PlayerData();
    }

    public static PlayerData getInstance() {
        return instance;
    }
    
    
    public void setup(Plugin p) {
        if(!p.getDataFolder().exists()) {
            p.getDataFolder().mkdir();        
            }
        
    
    
    File path = new File(p.getDataFolder() + File.separator + "/data");
    rfile = new File(path, String.valueOf(File.separatorChar + "data.yml"));
    if(!rfile.exists()) {
        try {
            path.mkdirs();
            rfile.createNewFile();
        } catch(IOException e) {
            Bukkit.getServer().getLogger().severe(ChatColor.RED + "Nie udalo sie utworayc pliku data.yml");        
        }
    }
    data = YamlConfiguration.loadConfiguration(rfile);
    
    }
    public FileConfiguration getData() {
        return data;
    }
    
    public void saveData() {
        try {
            data.save(rfile);    
        } catch (IOException e) {
            Bukkit.getServer().getLogger().severe(ChatColor.RED + "Nie udalo sie zapisac pliku data.yml");    
            }
    }

    public void reloadData() {
        data = YamlConfiguration.loadConfiguration(rfile);
                }
    
}


 

Opublikowano

Musisz utworzyć obiekt PlayerData zanim użyjesz #getData. - Żeby blok static się wykonał, musisz chociaż raz utworzyć obiekt klasy z blokiem static. 

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...