LuizB Postado Fevereiro 24, 2016 Denunciar Compartilhar Postado Fevereiro 24, 2016 porque o Runnable não esta Funfando ? package me.cuthmf.kitpvp; import java.util.ArrayList; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.Sound; import org.bukkit.entity.Fireball; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.plugin.Plugin; public class Delay implements Listener { ArrayList<String> Cooldown = new ArrayList<String>(); Principal plugin; @EventHandler public void espada(PlayerInteractEvent esp) { final Player pl = esp.getPlayer(); if(pl.getItemInHand().getType() == Material.STONE_SWORD) { if(esp.getAction() == Action.LEFT_CLICK_AIR) { if(pl.hasPermission("funkits.pyro")) { if(Cooldown.contains(pl.getName())) { return; } pl.launchProjectile(Fireball.class).setVelocity(pl.getLocation().getDirection().multiply(0.5)); pl.playSound(pl.getLocation(), Sound.BLAZE_HIT, 1, 2); Cooldown.add(pl.getName()); Bukkit.getServer().getScheduler().scheduleSyncDelayedTask((Plugin) plugin, new Runnable() { public void run() { Cooldown.remove(pl.getName()); } }, 5 * 20); } } } } } Classe Principal: package me.cuthmf.kitpvp; import java.io.File; import org.bukkit.plugin.java.JavaPlugin; import kitpvp.kits.Kits; public class Principal extends JavaPlugin{ public static Principal plugin; public static Principal cf; @Override public void onEnable() { getServer().getPluginManager().registerEvents(new Eventos(), this); getServer().getPluginManager().registerEvents(new ArrayL(), this); getServer().getPluginManager().registerEvents(new Delay(), this); getCommand("kit").setExecutor(new Kits()); cf = this; plugin = this; File f = new File(getDataFolder(), "config.yml"); if(!f.exists()); saveResource("config.yml", false); } @Override public void onLoad() { } @Override public void onDisable() { } } Link para o comentário Compartilhar em outros sites More sharing options...
??? Postado Fevereiro 24, 2016 Denunciar Compartilhar Postado Fevereiro 24, 2016 (editado) porque o Runnable não esta Funfando ? package me.cuthmf.kitpvp; import java.util.ArrayList; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.Sound; import org.bukkit.entity.Fireball; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.plugin.Plugin; public class Delay implements Listener { Principal plugin; Classe Principal: public class Principal extends JavaPlugin{ public static Principal plugin; public void onEnable() { plugin = this; } } A variável Plugin está null @Edit package me.cuthmf.kitpvp; import java.util.ArrayList; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.Sound; import org.bukkit.entity.Fireball; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.plugin.Plugin; public class Delay implements Listener { ArrayList<String> Cooldown = new ArrayList<String>(); @EventHandler public void espada(PlayerInteractEvent esp){ final Player pl = esp.getPlayer(); if(pl.getItemInHand().getType() == Material.STONE_SWORD){ if(esp.getAction() == Action.LEFT_CLICK_AIR){ if(pl.hasPermission("funkits.pyro")){ if(Cooldown.contains(pl.getName())){ return; } pl.launchProjectile(Fireball.class).setVelocity(pl.getLocation().getDirection().multiply(0.5)); pl.playSound(pl.getLocation(), Sound.BLAZE_HIT, 1, 2); Cooldown.add(pl.getName()); Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Principal.plugin, new Runnable() { public void run(){ Cooldown.remove(pl.getName()); } }, 5 * 20); } } } } } Editado Fevereiro 24, 2016 por Kaway 1 Link para o comentário Compartilhar em outros sites More sharing options...
LuizB Postado Fevereiro 24, 2016 Autor Denunciar Compartilhar Postado Fevereiro 24, 2016 A variável Plugin está null entao como faço pra resolver ? Link para o comentário Compartilhar em outros sites More sharing options...
Guest BrunnoGamer Postado Fevereiro 24, 2016 Denunciar Compartilhar Postado Fevereiro 24, 2016 (editado) entao como faço pra resolver ? Defina que "Principal" é o plugin public Delay(Principal main) { this.plugin = main; } Coloque no onEnable() da principal: Bukkit.getServer().getPluginManager().registerEvents(new Delay(this), this); Editado Fevereiro 24, 2016 por BrunnoGamer Link para o comentário Compartilhar em outros sites More sharing options...
LuizB Postado Fevereiro 24, 2016 Autor Denunciar Compartilhar Postado Fevereiro 24, 2016 (editado) Defina que "Principal" é o plugin public Delay(Principal main) { this.plugin = main; } Coloque no onEnable() da principal: Bukkit.getServer().getPluginManager().registerEvents(new Delay(this), this); Coloco tudo isto na classe principal né ? Editado Fevereiro 24, 2016 por Cuthmf Link para o comentário Compartilhar em outros sites More sharing options...
Guest BrunnoGamer Postado Fevereiro 24, 2016 Denunciar Compartilhar Postado Fevereiro 24, 2016 Coloco tudo isto na classe principal né ? A de cima coloca na clase Delay A de baixo coloca dentro de "public void onEnable() {" da classe Principal Link para o comentário Compartilhar em outros sites More sharing options...
LuizB Postado Fevereiro 24, 2016 Autor Denunciar Compartilhar Postado Fevereiro 24, 2016 (editado) A de cima coloca na clase Delay A de baixo coloca dentro de "public void onEnable() {" da classe Principal Beleza vo testar. posso subistituir a main pro principal ? Editado Fevereiro 24, 2016 por Cuthmf Link para o comentário Compartilhar em outros sites More sharing options...
Guest BrunnoGamer Postado Fevereiro 24, 2016 Denunciar Compartilhar Postado Fevereiro 24, 2016 Beleza vo testar. posso subistituir a main pro principal ? Não é necessário, não vai mudar em nada Mas se quiser, tem que trocar o "this.plugin = main;" para "this.plugin = principal;" Link para o comentário Compartilhar em outros sites More sharing options...
LuizB Postado Fevereiro 24, 2016 Autor Denunciar Compartilhar Postado Fevereiro 24, 2016 Não é necessário, não vai mudar em nada Mas se quiser, tem que trocar o "this.plugin = main;" para "this.plugin = principal;" Beleza Link para o comentário Compartilhar em outros sites More sharing options...
žφµร†ล√™ Postado Fevereiro 24, 2016 Denunciar Compartilhar Postado Fevereiro 24, 2016 Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas.Atenciosamente,Gamer's Board Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
LuizB
porque o Runnable não esta Funfando ?
Classe Principal:
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados