Advertisement
Guest User

BreakBonus Edit-3

a guest
Aug 18th, 2014
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.75 KB | None | 0 0
  1. package me.Gust09.BreakBonus;
  2.  
  3. import java.util.Arrays;
  4. import java.util.logging.Logger;
  5.  
  6.  
  7.  
  8. import org.bukkit.Bukkit;
  9. import org.bukkit.ChatColor;
  10. import org.bukkit.Location;
  11. import org.bukkit.Material;
  12. import org.bukkit.block.Block;
  13. import org.bukkit.command.Command;
  14. import org.bukkit.command.CommandSender;
  15. import org.bukkit.entity.Player;
  16. import org.bukkit.event.EventHandler;
  17. import org.bukkit.event.Listener;
  18. import org.bukkit.event.block.BlockBreakEvent;
  19. import org.bukkit.inventory.ItemStack;
  20. import org.bukkit.inventory.meta.ItemMeta;
  21. import org.bukkit.plugin.java.JavaPlugin;
  22.  
  23. public class BreakBonus extends JavaPlugin implements Listener{
  24.  
  25.         public final Logger myLogger = Bukkit.getLogger();
  26.        
  27.         @Override
  28.         public void onEnable(){
  29.             loadConfiguration();
  30.             Bukkit.getPluginManager().registerEvents(this, this);
  31.            
  32.         }
  33.  
  34.         @Override
  35.         public void onDisable(){
  36.             saveConfig();
  37.         }
  38.        
  39.         public void loadConfiguration(){
  40.             getConfig().options().copyDefaults(true);
  41.             saveConfig();
  42.          
  43.         }
  44.        
  45.         @SuppressWarnings("deprecation")
  46.         @EventHandler
  47.         public void onBlockBreak(BlockBreakEvent event){
  48.                
  49.             Player breaker = event.getPlayer();
  50.             Block broken = event.getBlock();
  51.             int brokenId = broken.getTypeId();
  52.            
  53.            
  54.             if(getConfig().contains("Config.Blocks." + brokenId) && breaker.hasPermission("breakbonus.reward")){
  55.                
  56.                 if(getConfig().get("Data." + breaker.getName() + "." + brokenId) == null){
  57.                     getConfig().set("Data." + breaker.getName() + "." + brokenId, 1);
  58.                     saveConfig();
  59.                 }
  60.                
  61.                 if(getConfig().get("Data." + breaker.getName() + "." + brokenId) != null){
  62.                     getConfig().set("Data." + breaker.getName() + "." + brokenId, (getConfig().getInt("Data." + breaker.getName() + "." + brokenId) + 1));
  63.                     saveConfig();
  64.                 }
  65.                
  66.                 if(getConfig().getInt("Data." + breaker.getName() + "." + brokenId) > getConfig().getInt("Config.Blocks." + brokenId + ".Objective")){
  67.                     getConfig().set("Data." + breaker.getName() + "." + brokenId, 0);
  68.                     saveConfig();
  69.                     myLogger.info("[BB] Player " + breaker.getName() + " has more broken blocks that he should have. Reseting Now!");
  70.                 }
  71.                
  72.                 if(getConfig().getInt("Data." + breaker.getName() + "." + brokenId) == getConfig().getInt("Config.Blocks." + brokenId + ".Objective")){
  73.                    
  74.                     Location blockLoc = broken.getLocation();
  75.                    
  76.                     String bonusFound = ChatColor.translateAlternateColorCodes('&', getConfig().getString("Config.Blocks." + brokenId + ".BonusFound"));
  77.                    
  78.                     breaker.sendMessage(bonusFound);
  79.                    
  80.                     ItemStack item = new ItemStack(Material.getMaterial(getConfig().getInt("Config.Blocks." + brokenId + ".Reward.ID", getConfig().getInt("Config.Blocks." + brokenId + ".Reward.Amount"))));
  81.                     ItemMeta meta = item.getItemMeta();
  82.                                    
  83.                     meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', getConfig().getString("Config.Blocks." + brokenId + ".Reward.Name")));
  84.                     meta.setLore(Arrays.asList(ChatColor.translateAlternateColorCodes('&', getConfig().getString("Config.Blocks." + brokenId + ".Reward.Lore"))));
  85.                     item.setItemMeta(meta);
  86.                                            
  87.                     blockLoc.getWorld().dropItem(blockLoc, item);
  88.                    
  89.                     getConfig().set("Data." + breaker.getName() + "." + brokenId, 0);
  90.                     saveConfig();
  91.                    
  92.                     if(getConfig().getBoolean("Config.Blocks." + brokenId + ".ExecuteCmd") == true){
  93.                        
  94.                         String cmd = getConfig().getString("Config.Blocks." + brokenId + ".Command").replaceAll("%PLAYER%", breaker.getName().toString());
  95.                        
  96.                         Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), cmd);
  97.                     }
  98.                    
  99.                 }
  100.                
  101.             }      
  102.            
  103.         }
  104.            
  105.         public boolean onCommand(CommandSender theSender, Command cmd, String commandLabel, String[] args){
  106.             if(commandLabel.equalsIgnoreCase("bbreload") && theSender.hasPermission("breakbonus.reload") && theSender.hasPermission("breakbonus.reload")){
  107.                 reloadConfig();
  108.                
  109.                 theSender.sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("Lang.Reload")));
  110.             }
  111.                        
  112.                 return false;
  113.         }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement