BlockBreakEvent not working

Discussion in 'Plugin Development' started by JeroenV, Dec 5, 2012.

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

    JeroenV

    For some reason this quick and simple blockbreakevent isn't working. It's like the code doesn't even reach it or it never gets triggered.

    MainClass:
    Code:
    public class MainClass extends JavaPlugin{
       
    @SuppressWarnings("unchecked")
    public void OnEnable(){   
        getServer().getPluginManager().registerEvents(new PlayerListener(), this);
       
        YamlConfiguration TownConfig = YamlConfiguration.loadConfiguration(new File(Townfolder,"towns.yml"));
        TownList.clear();
        if(TownConfig.get("towns") != null){
        TownList.addAll((Collection<? extends String>) TownConfig.get("towns"));
        }
    }
    PlayerListener
    Code:
    package com.hotmail.jeroenverstraelen.mainpackage;
     
    import java.io.File;
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.List;
     
    import org.bukkit.ChatColor;
    import org.bukkit.configuration.file.YamlConfiguration;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.BlockBreakEvent;
    import org.bukkit.inventory.ItemStack;
     
     
    public class PlayerListener implements Listener{
        File f1 = new File(getDataFolder(),"Plugins");
        File f2 = new File(f1,"Towny");
        File f3 = new File(f2,"data");
        File playerfolder = new File(f3,"residents");
        File Townfolder = new File(getDataFolder(),"TownData");
        static List<String> TownList = MainClass.TownList;
        static List<Integer> Items = new ArrayList<Integer>();
        static List<Integer> Drops = new ArrayList<Integer>();
     
        @SuppressWarnings("unchecked")
        @EventHandler
        public void BlockBreakEvent(BlockBreakEvent event){
            Player player = event.getPlayer();
            player.sendMessage(ChatColor.RED + "Reached code1.");
            String playername = player.getPlayerListName();
           
            YamlConfiguration PlayerConfig = YamlConfiguration.loadConfiguration(new File(playerfolder,playername+".txt"));
           
            if(PlayerConfig.get("town=") != null){
                player.sendMessage(ChatColor.RED + "Reached code2.");
            String townname = PlayerConfig.getString("town=");
           
            if(TownList.contains(townname)){
            YamlConfiguration TownConfig = YamlConfiguration.loadConfiguration(new File(Townfolder,"townages.yml"));
            String age = TownConfig.getString(townname);
           
            YamlConfiguration AgeConfig = YamlConfiguration.loadConfiguration(new File(Townfolder,age+".yml"));
            int ItemId = event.getBlock().getTypeId();
           
            if(AgeConfig.get("Exists") != null){
            Items.clear();
            Drops.clear();
            Items.addAll((Collection<? extends Integer>) AgeConfig.get("Items"));
            if(Items.contains(ItemId)){
            Drops.addAll((Collection<? extends Integer>) AgeConfig.get("Drops"));
            int Ipos = Items.indexOf(ItemId);
           
            int Drop = Drops.get(Ipos);
            ItemStack IDrop = new ItemStack(Drop);
           
     
            event.getBlock().getDrops().clear();
            event.getBlock().getDrops().add(IDrop);
            return;
            }
            }
         
            }   
            }
                YamlConfiguration AgeConfig = YamlConfiguration.loadConfiguration(new File(playerfolder,"default.yml"));
                int ItemId = event.getBlock().getTypeId();
               
                Items.clear();
                Drops.clear();
                Items.addAll((Collection<? extends Integer>) AgeConfig.get("Items"));
                if(Items.contains(ItemId)){
                Drops.addAll((Collection<? extends Integer>) AgeConfig.get("Drops"));
                int Ipos = Items.indexOf(ItemId);
               
                int Drop = Drops.get(Ipos);
                ItemStack IDrop = new ItemStack(Drop);
               
                player.sendMessage(ChatColor.RED + "Reached code.");
         
                event.getBlock().getDrops().clear();
                event.getBlock().getDrops().add(IDrop);
              return;       
        }
      }   
     
        public void getFileData(String age){   
        }


     
  2. Offline

    ConanEdogawa

    player got the message: "Reached code1."???
     
  3. Offline

    JeroenV

    Nope, that's why I know the code isn't reached.
     
  4. Offline

    SpaceManiac

    Your onEnable method needs to have a lowercase 'o' or it won't be called.
     
  5. Offline

    desht

    Indeed. And this is why using the @Override annotation is a really good idea.
     
  6. Offline

    JeroenV

    Wow, thanks for noticing that. Lol I still amaze myself on what kind of errors I can make..
     
Thread Status:
Not open for further replies.

Share This Page