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.List;
- import java.util.logging.Logger;
- import org.bukkit.Bukkit;
- import org.bukkit.Material;
- 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.event.player.PlayerJoinEvent;
- 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 = Logger.getLogger("Minecraft");
- @Override
- public void onEnable(){
- myLogger.info("BreakBonus Enabled");
- loadConfiguration();
- Bukkit.getPluginManager().registerEvents(this, this);
- }
- @Override
- public void onDisable(){
- myLogger.info("BreakBonus Disabled");
- }
- public void loadConfiguration(){
- getConfig().options().copyDefaults(true);
- saveConfig();
- }
- @EventHandler
- public void onPlayerJoin(PlayerJoinEvent join){
- Player joiner = join.getPlayer();
- String path = "Data.";
- if(getConfig().getString("Data." + joiner.getName()) == null){
- myLogger.info("[BreakBonus] Player Data not found for " + joiner.getName() + ". Creating now!");
- getConfig().set(path + joiner.getName(), 0);
- saveConfig();
- }
- else{
- myLogger.info("[BreakBonus] Loaded Player Data for " + joiner.getName() + "!");
- }
- }
- @EventHandler
- public void onBlockBreak(BlockBreakEvent event){
- Player p = event.getPlayer();
- List<String> blockIDStrings = getConfig().getStringList("Config.Blocks");
- @SuppressWarnings("deprecation")
- int blockBroken = event.getBlock().getTypeId();
- if(blockIDStrings.contains(String.valueOf(blockBroken))){
- int brokenBlocks = getConfig().getInt("Data." + p.getName());
- int targetBlocks = getConfig().getInt("Config.OBJECTIVE");
- if(brokenBlocks > targetBlocks){
- myLogger.info("[BreakBonus] Player " + p.getName() + " has more broken blocks than the Objective. Reseting now!");
- getConfig().set("Data." + p.getName(), 0);
- saveConfig();
- }
- else{
- getConfig().set("Data." + p.getName(), (brokenBlocks + 1));
- saveConfig();
- }
- }
- if(getConfig().getInt("Data." + p.getName()) == getConfig().getInt("Config.OBJECTIVE")){
- p.sendMessage(getConfig().getString("Config.String_BonusFound"));
- ItemStack item = new ItemStack(Material.DIAMOND, 1);
- ItemMeta meta = item.getItemMeta();
- meta.setDisplayName("Diamond");
- meta.setLore(Arrays.asList("\2477Bonus"));
- item.setItemMeta(meta);
- p.getWorld().dropItem(p.getLocation(), item);
- getConfig().set("Data." + p.getName(), 0);
- saveConfig();
- }
- }
- public boolean onCommand(CommandSender theSender, Command cmd, String commandLabel, String[] args){
- if(commandLabel.equalsIgnoreCase("bbreload")){
- reloadConfig();
- theSender.sendMessage("\247aConfig Reloaded");
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement