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

Autorski plugin na logowanie - nie działająca komenda.


Matis55

Rekomendowane odpowiedzi

Opublikowano

Witam napisałem plugin na rejestację oraz logowanie (zmianę hasła też zrobiłem), ale przy rejestracji nie da się zarejestrować ponieważ pokazuje mi się abym "/zarejestruj haslo haslo" i nic to nie daje.Z góry dziękuję za pomoc.

 

 

Kod z klasy Main:

 

package me.mcgothic.logowanie;

import java.util.ArrayList;
import java.util.HashMap;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin{

	public static Main main;
	public ArrayList<String> waiting = new ArrayList<>();
	public FileManager fm;
	public HashMap<Player, Location> wait = new HashMap<Player, Location>();
	
	public void onEnable() {
		main = Main.this;
		fm = new FileManager();
		fm.saveCfg();
		Bukkit.getPluginManager().registerEvents(new Events(), this);
		
		
	}
	
	public void onDisable() {
		for(String all : waiting) {
			Bukkit.getPlayer(all).kickPlayer("");
			
		}
	}
	
	@Override
	public boolean onCommand(CommandSender s, Command cmd, String label, String[] args) {
		if(s instanceof Player) {
			Player p = (Player)s;
			if(cmd.getName().equalsIgnoreCase("zaloguj")) {
				if(args.length == 1) {
			if(!waiting.contains(p.getName())) {
				p.sendMessage("§aJestes juz zalogowany!");
				return true;
				
			}
			if(fm.isregistered(p.getUniqueId().toString())) {
				String pw = args[0];
				if(fm.cfg.get(p.getUniqueId().toString()).equals(pw)) {
					waiting.remove(p.getName());
					p.sendMessage("§aPomyslnie zalogowano!");
					
					
				}
			} else {
				p.sendMessage("§cUzyj: /zarejestruj Haslo Powtorzhaslo");
			}
			}
			} else if(cmd.getName().equalsIgnoreCase("zarejestruj")) {
				if(args.length == 2) {
					
					if(args[0] == args[1]) {
						fm.cfg.set(p.getUniqueId().toString(), args[0]);
						fm.saveCfg();
						p.sendMessage("§aPomyslnie zarejestrowano!");
						waiting.remove(p.getName());
					} else { 
						p.sendMessage("§cUzyj: /zarejestruj Haslo Powtorzhaslo");
					}
					
				} else {
					p.sendMessage("§cUzyj: /zarejestruj Haslo Powtorzhaslo");					
				}
			} else if(cmd.getName().equalsIgnoreCase("zmienhaslo")) {
				if(args.length == 2) {
					if(!waiting.contains(p.getName())) {
					if(args[0].equals(args[1])) {
						fm.cfg.set(p.getUniqueId().toString(), args[0]);
						fm.saveCfg();
						p.sendMessage("§aHaslo zmienione pomyslnie!");
					} else { 
						p.sendMessage("§cUzyj: /zmienhaslo Haslo Powtorzhaslo");
					}
					
				} else {
					p.sendMessage("§cUzyj: /zmienhaslo Haslo Powtorzhaslo");					
				}				
			}
			}
			
		}
		return false;
	}
}

 

 

Opublikowano

Co to za warunek? if(args[0] == args[1]) - bazując na twoim problemie gdzieś z ifami musi być problem, bo konsola jest czysta - prawda?

btw. przynajmniej hashuj te hasła w MD5 - bardzo nieładnie tak trzymać hasła w jawnej postaci

Opublikowano

Tak, pokombinuj z tym  if(args[0] == args[1]) bo wedłóg mnie tu jest błąd i hasła zapisuj w MD5 tak jak napisał kolega wyżej bo tak to łatwo je wykraść :)

server-icon.png  EndiMC.pl - serwer minecraft 1.21.5 |Survival| |Gildie| |Slimefun| |Terralith|

  Serwer aktywny od ponad 8 lat

  Dołącz już dzisiaj do naszej społeczności!

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...