Give all players Items with scheduler

Discussion in 'Plugin Development' started by thorwin, Jul 30, 2015.

Thread Status:
Not open for further replies.
  1. I am working on a plugin that gives all online players on my server 10 Goldnuggets every 15 minutes. I testet the code with a message that comes every 15 minutes so i know that the scheduler works. Then i changed it to give Items to all online players and i get this error in console:

    My code:
    Code:
    package com.mcfreelife.money.main;
    
    import org.bukkit.Bukkit;
    import org.bukkit.Material;
    import org.bukkit.entity.Player;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class main extends JavaPlugin{
      
        public void onEnable() {
          
          
            int minutes = 15;
            int seconds = 60;
            int ticks = 20;
            int delay = minutes * seconds * ticks;
            int interval = delay;
          
            System.out.println("Plugin Money Activiert");
            Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
    
                public void run() {
                    ItemStack money = new ItemStack(Material.GOLD_NUGGET, 10);  
                    for(Player players : Bukkit.getOnlinePlayers()) {
                        players.getInventory().addItem(money);//Error here
                }
                }
              
            }, 20, interval);
        }
    }
    Plugin.yml:
    Code:
    name: Money
    version: 1.0
    main: com.mcfreelife.money.main.main
    author: Mcfreelife
    description: Money

    I cant find my mistace so please help
     
    Last edited: Jul 30, 2015
  2. Offline

    Edvio

    Code:
    for(Player players : Bukkit.getOnlinePlayers()) {
                        players.getInventory().addItem(money);
    
    I'm not that good at coding, but maybe you can try changeing Bukkit.getOnlinePlayers() to Bukkit.getServer().getOnlinePlayers();
    Try doing a scheduleAsyncRepeating task too instead.
     
  3. Sorry, but with this it would be even worse. But feel free to try it out if you really want to
     
Thread Status:
Not open for further replies.

Share This Page