Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.Gust09.BreakBonus;
- import java.util.Arrays;
- import java.util.logging.Logger;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.block.Block;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- 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;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.plugin.java.JavaPlugin;
- public class BreakBonus extends JavaPlugin implements Listener{
- public final Logger myLogger = Bukkit.getLogger();
- @Override
- public void onEnable(){
- loadConfiguration();
- Bukkit.getPluginManager().registerEvents(this, this);
- }
- @Override
- public void onDisable(){
- saveConfig();
- }
- public void loadConfiguration(){
- getConfig().options().copyDefaults(true);
- saveConfig();
- }
- @SuppressWarnings("deprecation")
- @EventHandler
- public void onBlockBreak(BlockBreakEvent event){
- Player breaker = event.getPlayer();
- Block broken = event.getBlock();
- int brokenId = broken.getTypeId();
- if(getConfig().contains("Config.Blocks." + brokenId) && breaker.hasPermission("breakbonus.reward")){
- if(getConfig().get("Data." + breaker.getName() + "." + brokenId) == null){
- getConfig().set("Data." + breaker.getName() + "." + brokenId, 1);
- saveConfig();
- }
- if(getConfig().get("Data." + breaker.getName() + "." + brokenId) != null){
- getConfig().set("Data." + breaker.getName() + "." + brokenId, (getConfig().getInt("Data." + breaker.getName() + "." + brokenId) + 1));
- saveConfig();
- }
- if(getConfig().getInt("Data." + breaker.getName() + "." + brokenId) > getConfig().getInt("Config.Blocks." + brokenId + ".Objective")){
- getConfig().set("Data." + breaker.getName() + "." + brokenId, 0);
- saveConfig();
- myLogger.info("[BB] Player " + breaker.getName() + " has more broken blocks that he should have. Reseting Now!");
- }
- if(getConfig().getInt("Data." + breaker.getName() + "." + brokenId) == getConfig().getInt("Config.Blocks." + brokenId + ".Objective")){
- Location blockLoc = broken.getLocation();
- String bonusFound = ChatColor.translateAlternateColorCodes('&', getConfig().getString("Config.Blocks." + brokenId + ".BonusFound"));
- breaker.sendMessage(bonusFound);
- ItemStack item = new ItemStack(Material.getMaterial(getConfig().getInt("Config.Blocks." + brokenId + ".Reward.ID", getConfig().getInt("Config.Blocks." + brokenId + ".Reward.Amount"))));
- ItemMeta meta = item.getItemMeta();
- meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', getConfig().getString("Config.Blocks." + brokenId + ".Reward.Name")));
- meta.setLore(Arrays.asList(ChatColor.translateAlternateColorCodes('&', getConfig().getString("Config.Blocks." + brokenId + ".Reward.Lore"))));
- item.setItemMeta(meta);
- blockLoc.getWorld().dropItem(blockLoc, item);
- getConfig().set("Data." + breaker.getName() + "." + brokenId, 0);
- saveConfig();
- if(getConfig().getBoolean("Config.Blocks." + brokenId + ".ExecuteCmd") == true){
- String cmd = getConfig().getString("Config.Blocks." + brokenId + ".Command").replaceAll("%PLAYER%", breaker.getName().toString());
- Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), cmd);
- }
- }
- }
- }
- public boolean onCommand(CommandSender theSender, Command cmd, String commandLabel, String[] args){
- if(commandLabel.equalsIgnoreCase("bbreload") && theSender.hasPermission("breakbonus.reload") && theSender.hasPermission("breakbonus.reload")){
- reloadConfig();
- theSender.sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("Lang.Reload")));
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement