"> Foro - [Ayuda] Problema con un plugin en Ayuda y soporte - Page 1 of 1
Marzo 29, 2024, 09:46:50 am
Visitante


Autor Tema: [Ayuda] Problema con un plugin  (Leído 1660 veces)

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

Diciembre 24, 2017, 09:49:23 pm

shiosaku




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Aprendiz de mapmaking
  • Actividad

  • 0%
  • Logros

Más información

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: https://minecraftmin.net/index.php?topic=15430.0
Mapmaker novato


Respuesta #1 Diciembre 26, 2017, 06:19:37 pm

Alfomega




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Ingeniero informático
  • Actividad

  • 0%
  • Logros

Más información

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
problema al crear un plugin

Iniciado por Lostjaime

3 Respuestas
1680 Vistas
Último mensaje Julio 16, 2014, 10:33:43 am
por Lostjaime
xx
Plugin Factions problema

Iniciado por SrGeniusMC

4 Respuestas
3538 Vistas
Último mensaje Mayo 05, 2014, 05:17:33 am
por OmegaCraft971
xx
Necesito ayuda con un plugin

Iniciado por Danny_Pek

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

Iniciado por cadox8

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