packageme.lol768.tools;importjava.util.ArrayList;importjava.util.List;importjava.util.logging.Logger;importorg.bukkit.Bukkit;importorg.bukkit.ChatColor;importorg.bukkit.Material;importorg.bukkit.command.Command;importorg.bukkit.command.CommandSender;importorg.bukkit.entity.Player;importorg.bukkit.event.EventHandler;importorg.bukkit.event.Listener;importorg.bukkit.event.block.BlockBreakEvent;importorg.bukkit.plugin.java.JavaPlugin;publicclassrequiredextendsJavaPluginimplementsListener{Loggerlog;List<Player>allowed=newArrayList<Player>();publicvoidonEnable(){log=this.getLogger();log.info("requiredTools is now active");getServer().getPluginManager().registerEvents(this,this);if(!this.getConfig().contains("enforce.0")){this.getConfig().set("enforce.0","default,270");this.saveConfig();log.info("requiredTools has generated a config file");}}publicvoidloadBlocks(){this.reloadConfig();}publicvoidonDisable(){log.info("requiredTools is now shutting down...");getServer().getPluginManager().registerEvents(this,this);}publicbooleanonCommand(CommandSendersender,Commandcmd,StringcommandLabel,String[]args){if(cmd.getName().equalsIgnoreCase("treload")){loadBlocks();sender.sendMessage(ChatColor.GREEN+"Config reloaded successfully!");}if(cmd.getName().equalsIgnoreCase("tools")){if(args.length==1&&senderinstanceofPlayer){if(!sender.hasPermission("toolsrequired.alter")){sender.sendMessage(ChatColor.RED+"You need toolsrequired.alter");}else{if(args[0].equalsIgnoreCase("on")){Playerp=(Player)sender;allowed.add(p);sender.sendMessage(ChatColor.GREEN+"Added exception rule for "+p.getName());}else{Playerp=(Player)sender;allowed.remove(p);sender.sendMessage(ChatColor.GREEN+"Removed exception rule for "+p.getName());}}}if(args.length==2){if(!sender.hasPermission("toolsrequired.alter")){sender.sendMessage(ChatColor.RED+"You need toolsrequired.alter");}else{if(args[0].equalsIgnoreCase("on")){try{Playerp=Bukkit.getPlayer(args[1]);allowed.add(p);sender.sendMessage(ChatColor.GREEN+"Added exception rule for "+p.getName());}catch(Exceptione){sender.sendMessage(ChatColor.RED+"Player may be offline or malformed command");sender.sendMessage(ChatColor.RED+"Syntax: /tools on player_name");}}else{try{Playerp=Bukkit.getPlayer(args[1]);allowed.remove(p);sender.sendMessage(ChatColor.GREEN+"Removed exception rule for "+p.getName());}catch(Exceptione){sender.sendMessage(ChatColor.RED+"Player may be offline or malformed command");sender.sendMessage(ChatColor.RED+"Syntax: /tools off player_name");}}}}if(args.length!=1&&args.length!=2){sender.sendMessage(ChatColor.RED+"Malformed command");}}returntrue;}@EventHandlerpublicvoidblockBreak(BlockBreakEvente){try{if(!allowed.contains(e.getPlayer())){if(this.getConfig().contains("enforce."+e.getBlock().getTypeId())){Playerp=e.getPlayer();Stringraw=this.getConfig().getString("enforce."+e.getBlock().getTypeId());String[]split=raw.split(",");inti=0;Stringrequired="unknown";booleanok=false;for(Strings:split){if(i==0){//Item messagerequired=s;}else{if(p.getItemInHand()!=null){if(p.getItemInHand().getTypeId()==Integer.parseInt(s)){ok=true;}}}i++;}if(!ok){Materialm=e.getBlock().getType();p.sendMessage(ChatColor.RED+"You must use the correct tool for this block: "+required);e.setCancelled(true);}}}}catch(Exceptionex){e.getPlayer().sendMessage(ChatColor.RED+"Something went wrong. Sorry about that.");log.severe(ex.getMessage());}}}
Comments
To post a comment, please login or register a new account.
Comments