Ir para conteúdo
  • 0

[Resolvido] Bloquear prelogin do player


Kami

Pergunta

Preciso que o jogador que estiver com o uuid dentro do arquivo "ConfigBans" seja kikado ao logar, já tenho o código aqui, só falta dar certo.

 

Segue a parte que não funciona. Não registrei esta classe no main, só coloquei extends Principal, se precisar registrar isso, posta o trecho do código que registra o arquivo secundário na Main.

package me.guigarciazinho.Punir;

import java.util.UUID;

import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerPreLoginEvent;
import org.bukkit.event.player.PlayerPreLoginEvent.Result;

public class login extends Principal implements Listener {
	public boolean taBan(UUID uuid){
		if(configBans.contains("Ban." + uuid)){
			return true;
		}
		return false;
	}

	
	
	
	@EventHandler
	public void taBanido(PlayerPreLoginEvent e){
		if(taBan(e.getUniqueId()) == true){
			e.setResult(Result.KICK_BANNED);
			e.setKickMessage("otaku");
			
			
		}
	}

}

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

@EventHandler
public void ban(PlayerJoinEvent e){
Player p = e.getPlayer;
File yourfile = new File(getDescription().getType() + "bans.yml")
String uuid = yourfile.get("banned-uuids");
if (p.getUniqueId().toString().equalsIgnoreCase(uuid)){
p.setBanned(true);
}

Testa isso

 

Edit:

 

if (config,getString(player,GetUniqueId()) != null) {
    // se a uuid for null quer dizer que o jogador nunca foi banido
   player.KickPlayer(config.getString(player.getUUID());
}
Editado por Castiel
Link para o comentário
Compartilhar em outros sites

@EventHandler
public void ban(PlayerJoinEvent e){
Player p = e.getPlayer;
File yourfile = new File(getDescription().getType() + "bans.yml")
String uuid = yourfile.get("banned-uuids");
if (p.getUniqueId().toString().equalsIgnoreCase(uuid)){
p.setBanned(true);
}

Testa isso

 

Edit:

 

if (config,getString(player,GetUniqueId()) != null) {
    // se a uuid for null quer dizer que o jogador nunca foi banido
   player.KickPlayer(config.getString(player.getUUID());
}

não foi...

 

Registra o evento no onEnable e usa o AsyncPlayerPreLoginEvent envez de PlayerPreLoginEvent

tentei, mas dá erro no console

 

IMAGEM DO ERRO: http://imgur.com/mrcW9uP

Editado por Kami
Link para o comentário
Compartilhar em outros sites

Guest » xKįzämę Pęčæ

Pega o uuid dele é adiciona no p.kick '-'

Ou mais fácil; cria uma stringlist com alguns uuids banidos e bloqueia conectar..

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem está navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...