Configuración
Ocultar noticias
Ocultar búsqueda
Desactivar efectos del tema
Cambiar apariencia



0 Usuarios y 1 Visitante están viendo este tema.

*
Problema con un plugin
« en: Diciembre 24, 2017, 09:49:23 pm »
En este código yo verifico el evento PlayerJoinEvent y quiero hacer la verificación de que si el jugador ya ha estado antes no pase nada, pero si si ha estado que guarde su información en el archivo de config, primero verificando si es el primero en acceder, después quería agregar un else if para cuando ya ha habido, pero al momento de usar el .set para escribir en el archivo config no lo hace, quizá estoy haciendo algo mal, dejo el código para que lo lean, espero que puedan ayudarme.
Feliz navidad a todos.

Spoiler para ocultar:
Código: [Seleccionar]
package shiosaku.techvmagicbase.eventos;

import org.bukkit.ChatColor;
//import org.bukkit.Location;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;

import shiosaku.techvmagicbase.TechvMagicBase;

public class Entrar implements Listener{

private TechvMagicBase hereda;

public Entrar(TechvMagicBase hereda) {
this.hereda = hereda;
}

@EventHandler
public void alEntrar(PlayerJoinEvent event) {

Player jugador = event.getPlayer();

FileConfiguration config = hereda.getConfig();

String path = "Config.mensaje-bienvenida";
String pathpl = "Config.mensaje-bienvenida-incluye-nombre-jugador";

if(config.getString(path).equals("true")) {

if(config.getString(pathpl).equals("true")) {

String texto = "Config.mensaje-bienvenida-texto";
jugador.sendMessage(ChatColor.DARK_RED+"--------------------------+--------------------------");
jugador.sendMessage(ChatColor.translateAlternateColorCodes('&', config.getString(texto)+" "+jugador.getDisplayName()));
jugador.sendMessage(ChatColor.DARK_RED+"--------------------------+--------------------------");

}
else {

String texto = "Config.mensaje-bienvenida-texto";
jugador.sendMessage(ChatColor.DARK_RED+"--------------------------+--------------------------");
jugador.sendMessage(ChatColor.DARK_GREEN+config.getString(texto));
jugador.sendMessage(ChatColor.DARK_RED+"--------------------------+--------------------------");

}


}

if(config.getString("Config.Players").equals("0")) {


config.set("Config.Spawn.Players.UUID", jugador.getUniqueId());
config.set("Config.Spawn.Players.UUID.Reino", "0");


}else {



}

return;

}
}


Linkback: http://minecraftmin.net/index.php?topic=15430.0
Mapmaker novato
*
Re:Problema con un plugin
« Respuesta #1 en: Diciembre 26, 2017, 06:19:37 pm »
Te recomiendo que pongas un system.out.println o algo pareceido para ver si entra en el if o no, en el get string para ver el valor y si realmente es 0 como pensamos, etc. para ir identificando el error. A veces nos obcecamos en creer que el error está en un sitio y puede estar en otro.
Por otro lado, he visto algún error de programación básico, así que te pongo aquí tu código al que le he quitado alguna cosa, incluyendo dos system.out.println de ejemplo:

-Lo primero, el return sobra, cuando una función void llega al final, se termina, el compilador ya lo sabe y poner un return no es necesario a no ser que quieras rompet la ejecución en otro sitio, cosa que no es este caso.
-Los else vacíos son innecesarios, si no vas a hacer nada, no lo pongas.
-No pongas tanto salto de línea, solo cuando quieras dividir dos bloques de código de algo grande. Lo único que consigues es que se vea peor.
-Si solo vas a usar una vez una variable, para eso no la hagas, consumes más recursos de los necesarios.
-Si un import no lo vas a usar, no lo comentes, elimínalo. No aporta nada.
-Te he puesto los { en una nueva línea, está bien de ambas maneras, como lo tenías o como lo puse yo, simplemente es por costumbre mía.

Spoiler para ocultar:
Código: [Seleccionar]
import org.bukkit.ChatColor;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;

import shiosaku.techvmagicbase.TechvMagicBase;

public class Entrar implements Listener {

private TechvMagicBase hereda;

public Entrar(TechvMagicBase hereda)
{
this.hereda = hereda;
}

@EventHandler
public void alEntrar(PlayerJoinEvent event)
{
Player jugador = event.getPlayer();
FileConfiguration config = hereda.getConfig();

if(config.getString("Config.mensaje-bienvenida").equals("true"))
{
jugador.sendMessage(ChatColor.DARK_RED+"--------------------------+--------------------------");
if(config.getString("Config.mensaje-bienvenida-incluye-nombre-jugador").equals("true"))
{
jugador.sendMessage(ChatColor.translateAlternateColorCodes('&', config.getString("Config.mensaje-bienvenida-texto")+" "+jugador.getDisplayName()));
} else {
jugador.sendMessage(ChatColor.DARK_GREEN+config.getString("Config.mensaje-bienvenida-texto"));
}
jugador.sendMessage(ChatColor.DARK_RED+"--------------------------+--------------------------");
}

//system.out.println("get Players: " + config.getString("Config.Players"));
if(config.getString("Config.Players").equals("0"))
{
//system.out.println("Entra en el if. Es 0");
config.set("Config.Spawn.Players.UUID", jugador.getUniqueId());
config.set("Config.Spawn.Players.UUID.Reino", "0");
}
}
}
https://i.imgur.com/cFX0ssZ.png


Share via delicious Share via digg Share via facebook Share via furl Share via linkedin Share via myspace Share via reddit Share via stumble Share via technorati Share via twitter

xx
Plugin Factions problema

Iniciado por SrGeniusMC

4 Respuestas
1800 Vistas
Último mensaje Mayo 05, 2014, 05:17:33 am
por OmegaCraft971
xx
problema al crear un plugin

Iniciado por Lostjaime

3 Respuestas
789 Vistas
Último mensaje Julio 16, 2014, 10:33:43 am
por Lostjaime
xx
Necesito ayuda con un plugin

Iniciado por Danny_Pek

3 Respuestas
673 Vistas
Último mensaje Marzo 31, 2014, 06:46:40 pm
por Manimanol
exclamation
Plugin para PvP (Codigo ayuda)

Iniciado por cadox8

4 Respuestas
849 Vistas
Último mensaje Octubre 10, 2014, 03:40:05 pm
por cadox8