Ir para conteúdo
  • 0

Dev's erro básico me ajuda a resolver ?


F O N

Pergunta

Terminei meu PL aqui mais ta dando um erro null chato que não to conseguindo arrumar, algum Dev consegue arrumar e me mandar o código ? Consertado ? Agradeço.

 

Main: https://hastebin.com/upidofopik.java

 

Comandos: https://hastebin.com/xejulujiku.java

 

Erro: https://hastebin.com/ocupedoroh.vbs

 

O erro é quando executo um dos comandos, ja viu que parece estar na linha 25 da classe comandos, mais nao sei o que está errado ou como arrumar.

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

 

 

A parte de baixa, no caso o próximo comando (warp) o arg nao funcionou, tentei colocar lá também o que você coloco mais da um erro também.

 

package dev.rengod.net;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class Comandos implements CommandExecutor{
	
	public ExtraConfig warps = Main.warps;

	@Override
	public boolean onCommand(final CommandSender sender, final Command cmd, final String lb, final String[] args) {
		
		if (!(sender instanceof Player)) {
			sender.sendMessage("§4Only players can execute this command.");
			return true;
		}
		
		Player p = (Player) sender ;
	
		
		if (cmd.getName().equalsIgnoreCase("setwarp")) {
			if (!(p.hasPermission("rewarps.admin"))) {
				p.sendMessage(Main.instance.getConfig().getString("semperm").replace("&", "§"));
			} else if (args.length == 0) {
				p.sendMessage(Main.instance.getConfig().getString("ComoSetar").replace("&", "§"));
			} else {
				String arg = args[0].toLowerCase();
				warps.config().set("Warps." + arg + ".world", p.getWorld().getName());
				warps.config().set("Warps." + arg + ".x", p.getLocation().getX());
				warps.config().set("Warps." + arg + ".y", p.getLocation().getY());
				warps.config().set("Warps." + arg + ".z", p.getLocation().getZ());
				warps.config().set("Warps." + arg + ".yaw", p.getLocation().getYaw());
				warps.config().set("Warps." + arg + ".pitch", p.getLocation().getPitch());
				warps.save();
				p.sendMessage(Main.instance.getConfig().getString("WarpSetada").replace("&", "§"));
			}
		}
		if (cmd.getName().equalsIgnoreCase("warp")) {
			if (args.length == 0) {
				p.sendMessage(Main.instance.getConfig().getString("ComoIr").replace("&", "§"));
			} else if (warps.config().getConfigurationSection("Warps." + args[0]) == null) {
				p.sendMessage(Main.instance.getConfig().getString("WarpNaoExiste").replace("&", "§"));
			} else {
				String arg = args[0].toLowerCase();
				World world = Bukkit.getWorld(warps.config().getString("Warps." + arg + ".world"));
				double x = warps.config().getDouble("Warps." + arg + ".x");
				double y = warps.config().getDouble("Warps." + arg + ".y");
				double z = warps.config().getDouble("Warps." + arg + ".z");
				float yaw = (float)warps.config().getDouble("Warps." + arg + ".yaw");
				float pitch = (float)warps.config().getDouble("Warps." + arg + ".pitch");
				
				Location loc = new Location(world, x, y, z, yaw, pitch);
				
				p.teleport(loc);
				p.sendMessage(Main.instance.getConfig().getString("Teleportado").replace("&", "§").replace("{warp}", arg));
			}
		}
		return false;
	}
}

Resolvido?

 

OBS: Tópico movido pra área correta.

Link para o comentário
Compartilhar em outros sites

String arg = args[0].toLowerCase();

 

coloca ele dps da verificação de args e ve se vai

 

 

Na linha 25 da classe Comandos você está definindo a variável arg como o primeiro argumento sem antes verificar se ele existe.

Algum dos 2 poderia editar e colocar no lugar certo onde não daria erro ? To colocando aqui mais ta dando outros erros, se estiverem ocupados eu espero de boa.

Link para o comentário
Compartilhar em outros sites

 

 

A parte de baixa, no caso o próximo comando (warp) o arg nao funcionou, tentei colocar lá também o que você coloco mais da um erro também.

package dev.rengod.net;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class Comandos implements CommandExecutor{
	
	public ExtraConfig warps = Main.warps;

	@Override
	public boolean onCommand(final CommandSender sender, final Command cmd, final String lb, final String[] args) {
		
		if (!(sender instanceof Player)) {
			sender.sendMessage("§4Only players can execute this command.");
			return true;
		}
		
		Player p = (Player) sender ;
	
		
		if (cmd.getName().equalsIgnoreCase("setwarp")) {
			if (!(p.hasPermission("rewarps.admin"))) {
				p.sendMessage(Main.instance.getConfig().getString("semperm").replace("&", "§"));
			} else if (args.length == 0) {
				p.sendMessage(Main.instance.getConfig().getString("ComoSetar").replace("&", "§"));
			} else {
				String arg = args[0].toLowerCase();
				warps.config().set("Warps." + arg + ".world", p.getWorld().getName());
				warps.config().set("Warps." + arg + ".x", p.getLocation().getX());
				warps.config().set("Warps." + arg + ".y", p.getLocation().getY());
				warps.config().set("Warps." + arg + ".z", p.getLocation().getZ());
				warps.config().set("Warps." + arg + ".yaw", p.getLocation().getYaw());
				warps.config().set("Warps." + arg + ".pitch", p.getLocation().getPitch());
				warps.save();
				p.sendMessage(Main.instance.getConfig().getString("WarpSetada").replace("&", "§"));
			}
		}
		if (cmd.getName().equalsIgnoreCase("warp")) {
			if (args.length == 0) {
				p.sendMessage(Main.instance.getConfig().getString("ComoIr").replace("&", "§"));
			} else if (warps.config().getConfigurationSection("Warps." + args[0]) == null) {
				p.sendMessage(Main.instance.getConfig().getString("WarpNaoExiste").replace("&", "§"));
			} else {
				String arg = args[0].toLowerCase();
				World world = Bukkit.getWorld(warps.config().getString("Warps." + arg + ".world"));
				double x = warps.config().getDouble("Warps." + arg + ".x");
				double y = warps.config().getDouble("Warps." + arg + ".y");
				double z = warps.config().getDouble("Warps." + arg + ".z");
				float yaw = (float)warps.config().getDouble("Warps." + arg + ".yaw");
				float pitch = (float)warps.config().getDouble("Warps." + arg + ".pitch");
				
				Location loc = new Location(world, x, y, z, yaw, pitch);
				
				p.teleport(loc);
				p.sendMessage(Main.instance.getConfig().getString("Teleportado").replace("&", "§").replace("{warp}", arg));
			}
		}
		return false;
	}
}
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...