Need help with an energy bar?

Discussion in 'Plugin Development' started by GEETAFF, Nov 5, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    GEETAFF

    So I stopped a plugin a while back for a server, and recently started it back up again. The version of the plugin currently installed to the actual server is working, but the code i have in eclipse atm doesnt work. What i mean is the energy bar is not going up. Im really rusty right now because i havnt coded for a while so i think i just need to know how i should start the energy bar so it recharges.

    MAIN CLASS:
    Code:
    package me.geetaff.CrafterCraft;
     
    import org.bukkit.Bukkit;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.entity.EntityDeathEvent;
    import org.bukkit.event.entity.PlayerDeathEvent;
    import org.bukkit.event.player.PlayerDropItemEvent;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class Main extends JavaPlugin implements Listener
    {
        ExpMeter meter;
       
        @Override
        public void onEnable()
        {
            Bukkit.getServer().getPluginManager().registerEvents(new Ninja(), this);
            Bukkit.getServer().getPluginManager().registerEvents(new Demigod(), this);
            Bukkit.getServer().getPluginManager().registerEvents(new Knight(), this);
            Bukkit.getServer().getPluginManager().registerEvents(new Setclass(), this);
            Bukkit.getServer().getPluginManager().registerEvents(this, this);
        }
       
        @EventHandler
        public void onItemDrop(PlayerDropItemEvent e)
        {
            Player p = e.getPlayer();
            if(p.hasPermission("items.drop"))
            {
                e.setCancelled(false);
            }
            else
            {
                e.setCancelled(true);
            }
        }
        @EventHandler
        public void entityDrops(EntityDeathEvent e)
        {
            e.setDroppedExp(0);
            e.getDrops().clear();
        }
        @EventHandler
        public void death(PlayerDeathEvent e)
        {
            Bukkit.getServer().broadcastMessage("HELLLO WORLD");
        }
       
    }
    
    EXP METER CLASS:
    Code:
    package me.geetaff.CrafterCraft;
     
    import org.bukkit.Bukkit;
    import org.bukkit.Effect;
    import org.bukkit.entity.Player;
    import org.bukkit.scheduler.BukkitRunnable;
     
    public class ExpMeter extends BukkitRunnable
    {
        Main plugin;
       
        public ExpMeter(Main plugin)
        {
            this.plugin = plugin;
        }
       
        @SuppressWarnings("deprecation")
        @Override
        public void run()
        {
            Player[] players = Bukkit.getServer().getOnlinePlayers();
           
            for(Player p : players)
            {
                if(p.getExp() < 1)
                {
                    p.setExp(p.getExp() + 0.056F);
                }
                else
                {
                    p.playEffect(p.getLocation(), Effect.EXTINGUISH, 100);
                }
            }
        }
    }
    
     
  2. Offline

    jpjunho

    GEETAFF
    You're not starting the runnable
     
  3. Offline

    BetaNyan

    Why did you create a Player[] players when getOnlinePlayers returns a Player[]?
     
  4. Offline

    Barinade

    To prevent one line from jetting out or awkwardly wrapping, assuming you don't modify how the IDE wraps
     
  5. Offline

    ChipDev

    GEETAFF
    First, no need to call the Player[] variable every run.
    just
    Code:java
    1. for(Player player:Bukkit.getOnlinePlayers()) {
    2. }
     
Thread Status:
Not open for further replies.

Share This Page