Ir para conteúdo
  • 0

[Dúvida] Codigo


Eduardoo

Pergunta

Main:

 

import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin
{
	private static Main instance;
	
	@Override
	public void onEnable()
	{
		Bukkit.getConsoleSender().sendMessage("[GrimmLuz] Plugin habilitado!");
		getCommand("luz").setExecutor(new Comando());
		instance = this;
	}
	
	@Override
	public void onDisable()
	{
		Bukkit.getConsoleSender().sendMessage("[GrimmLuz] Plugin desabilitado!");
	}
	
	public static Main getInstance() {
		return instance;
		}
}

 


Comando.class:

 

import java.util.ArrayList;

import org.bukkit.Bukkit;
import org.bukkit.Sound;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.scheduler.BukkitRunnable;

public class Comando implements CommandExecutor
{
	private Main main = Main.getInstance();
	public static ArrayList<String> luz;
	
	static {
		luz = new ArrayList<String>();
	}
	
	@Override
	public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {

		Player p = (Player)sender;
		
		if (command.getName().equalsIgnoreCase("Luz")) {
			if (!p.hasPermission("grimmluz.usar")) {
				p.sendMessage("§cVocê precisa do grupo Campeão ou superior para executar este comando.");
			}
			else if (luz.contains(p.getName())) {
				p.removePotionEffect(PotionEffectType.NIGHT_VISION);
				luz.remove(p.getName());
				p.sendMessage("");
				p.sendMessage(" §cVocê desativou sua luz automatica.");
				p.sendMessage("");
			}
			else {
				p.addPotionEffect(new PotionEffect(PotionEffectType.NIGHT_VISION, 98999901, 5, true));
				luz.add(p.getName());
				p.sendMessage("");
				p.sendMessage(" §aVocê ativou sua luz automatica.");
				p.sendMessage("");
			}
		}
		
		return false;
	}
	
	public void Run() {
		new BukkitRunnable() {
			
			@Override
			public void run() {
				for(Player p : Bukkit.getServer().getOnlinePlayers()) {
					if (luz.contains(p.getName())) {
						if (p.getLocation().getBlock().getLightFromBlocks() > 1) {
							if (p.hasPotionEffect(PotionEffectType.NIGHT_VISION)) {
								p.removePotionEffect(PotionEffectType.NIGHT_VISION);
								p.playSound(p.getLocation(), Sound.CLICK, 12.0f, 12.0f);
							}
							return;
						}
						if (!p.hasPotionEffect(PotionEffectType.NIGHT_VISION)) {
							p.addPotionEffect(new PotionEffect(PotionEffectType.NIGHT_VISION, 98999901, 5, true));
							p.playSound(p.getLocation(), Sound.CLICK, 12.0f, 12.0f);
						}
					}
				}
				
			}
		}.runTaskLater(main, 20L * 1);
	}

}

 


O public void Run() não funciona, ME AJUDEM POR FAVOR.

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

11 respostass a esta questão

Posts Recomendados

  • 0

Está INSTANCE, ou seja, plugado a outra classe.

Caso você esteja fazendo isso na MAIN, coloque this. Caso seja em outra classe, faça uma INSTANCE para ligar elas.

Aff n consigo, oq eu tenho q por na main pra isso funcionar?

 

EDIT: Fiz um negocio aqui, olha: (Não funcionou)

 

Main:

 

 

import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin
{
	private static Main instance;
	
	@Override
	public void onEnable()
	{
		Bukkit.getConsoleSender().sendMessage("[GrimmLuz] Plugin habilitado!");
		getCommand("luz").setExecutor(new Comando());
		instance = this;
	}
	
	@Override
	public void onDisable()
	{
		Bukkit.getConsoleSender().sendMessage("[GrimmLuz] Plugin desabilitado!");
	}
	
	public static Main getInstance() {
		return instance;
		}
}

 

 

Comando:

 

 

import java.util.ArrayList;

import org.bukkit.Bukkit;
import org.bukkit.Sound;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.scheduler.BukkitRunnable;

public class Comando implements CommandExecutor
{
	private Main main = Main.getInstance();
	public static ArrayList<String> luz;
	
	static {
		luz = new ArrayList<String>();
	}
	
	@Override
	public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {

		Player p = (Player)sender;
		
		if (command.getName().equalsIgnoreCase("Luz")) {
			if (!p.hasPermission("grimmluz.usar")) {
				p.sendMessage("§cVocê precisa do grupo Campeão ou superior para executar este comando.");
			}
			else if (luz.contains(p.getName())) {
				p.removePotionEffect(PotionEffectType.NIGHT_VISION);
				luz.remove(p.getName());
				p.sendMessage("");
				p.sendMessage(" §cVocê desativou sua luz automatica.");
				p.sendMessage("");
			}
			else {
				p.addPotionEffect(new PotionEffect(PotionEffectType.NIGHT_VISION, 98999901, 5, true));
				luz.add(p.getName());
				p.sendMessage("");
				p.sendMessage(" §aVocê ativou sua luz automatica.");
				p.sendMessage("");
			}
		}
		
		return false;
	}
	
	public void Run() {
		new BukkitRunnable() {
			
			@Override
			public void run() {
				for(Player p : Bukkit.getServer().getOnlinePlayers()) {
					if (luz.contains(p.getName())) {
						if (p.getLocation().getBlock().getLightFromBlocks() > 1) {
							if (p.hasPotionEffect(PotionEffectType.NIGHT_VISION)) {
								p.removePotionEffect(PotionEffectType.NIGHT_VISION);
								p.playSound(p.getLocation(), Sound.CLICK, 12.0f, 12.0f);
							}
							return;
						}
						if (!p.hasPotionEffect(PotionEffectType.NIGHT_VISION)) {
							p.addPotionEffect(new PotionEffect(PotionEffectType.NIGHT_VISION, 98999901, 5, true));
							p.playSound(p.getLocation(), Sound.CLICK, 12.0f, 12.0f);
						}
					}
				}
				
			}
		}.runTaskLater(main, 20L * 1);
	}

}

 

 

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

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