Advertisement
Guest User

BreakBonus Edit-1

a guest
Aug 14th, 2014
294
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.14 KB | None | 0 0
  1. package me.Gust09.BreakBonus;
  2.  
  3. import java.util.Arrays;
  4. import java.util.List;
  5. import java.util.logging.Logger;
  6.  
  7. import org.bukkit.Bukkit;
  8. import org.bukkit.Material;
  9. import org.bukkit.command.Command;
  10. import org.bukkit.command.CommandSender;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.event.EventHandler;
  13. import org.bukkit.event.Listener;
  14. import org.bukkit.event.block.BlockBreakEvent;
  15. import org.bukkit.event.player.PlayerJoinEvent;
  16. import org.bukkit.inventory.ItemStack;
  17. import org.bukkit.inventory.meta.ItemMeta;
  18. import org.bukkit.plugin.java.JavaPlugin;
  19.  
  20. public class BreakBonus extends JavaPlugin implements Listener{
  21.  
  22.     public final Logger myLogger = Logger.getLogger("Minecraft");
  23.    
  24.     @Override
  25.     public void onEnable(){
  26.         myLogger.info("BreakBonus Enabled");
  27.         loadConfiguration();
  28.         Bukkit.getPluginManager().registerEvents(this, this);
  29.        
  30.         }
  31.  
  32.     @Override
  33.     public void onDisable(){
  34.         myLogger.info("BreakBonus Disabled");
  35.     }
  36.    
  37.     public void loadConfiguration(){
  38.          getConfig().options().copyDefaults(true);
  39.          saveConfig();
  40.          
  41.     }
  42.    
  43.     @EventHandler
  44.     public void onPlayerJoin(PlayerJoinEvent join){
  45.        
  46.         Player joiner = join.getPlayer();
  47.         String path = "Data.";
  48.        
  49.         if(getConfig().getString("Data." + joiner.getName()) == null){
  50.             myLogger.info("[BreakBonus] Player Data not found for " + joiner.getName() + ". Creating now!");
  51.             getConfig().set(path + joiner.getName(), 0);
  52.             saveConfig();
  53.         }
  54.         else{
  55.             myLogger.info("[BreakBonus] Loaded Player Data for " + joiner.getName() + "!");
  56.            
  57.         }
  58.     }
  59.    
  60.     @EventHandler
  61.     public void onBlockBreak(BlockBreakEvent event){
  62.        
  63.         Player p = event.getPlayer();
  64.        
  65.         List<String> blockIDStrings = getConfig().getStringList("Config.Blocks");
  66.        
  67.         @SuppressWarnings("deprecation")
  68.         int blockBroken = event.getBlock().getTypeId();
  69.                
  70.         if(blockIDStrings.contains(String.valueOf(blockBroken))){
  71.            
  72.             int brokenBlocks = getConfig().getInt("Data." + p.getName());
  73.             int targetBlocks = getConfig().getInt("Config.OBJECTIVE");
  74.            
  75.             if(brokenBlocks > targetBlocks){
  76.                 myLogger.info("[BreakBonus] Player " + p.getName() + " has more broken blocks than the Objective. Reseting now!");
  77.                 getConfig().set("Data." + p.getName(), 0);
  78.                 saveConfig();
  79.             }
  80.             else{
  81.             getConfig().set("Data." + p.getName(), (brokenBlocks + 1));
  82.             saveConfig();
  83.             }
  84.         }
  85.        
  86.         if(getConfig().getInt("Data." + p.getName()) == getConfig().getInt("Config.OBJECTIVE")){
  87.             p.sendMessage(getConfig().getString("Config.String_BonusFound"));
  88.            
  89.             ItemStack item = new ItemStack(Material.DIAMOND, 1);
  90.             ItemMeta meta = item.getItemMeta();
  91.                    
  92.             meta.setDisplayName("Diamond");
  93.             meta.setLore(Arrays.asList("\2477Bonus"));
  94.             item.setItemMeta(meta);
  95.                        
  96.             p.getWorld().dropItem(p.getLocation(), item);
  97.            
  98.             getConfig().set("Data." + p.getName(), 0);
  99.             saveConfig();
  100.         }  
  101.        
  102.     }
  103.        
  104.         public boolean onCommand(CommandSender theSender, Command cmd, String commandLabel, String[] args){
  105.             if(commandLabel.equalsIgnoreCase("bbreload")){
  106.                 reloadConfig();
  107.                 theSender.sendMessage("\247aConfig Reloaded");
  108.             }
  109.            
  110.             return false;
  111.         }
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement