Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.cjservers.resourcegens;
- import java.util.Map;
- import java.util.Map.Entry;
- import java.util.logging.Logger;
- import net.cjservers.resourcegens.Objects.ResourceGen;
- 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.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.entity.Player;
- import org.bukkit.util.BlockIterator;
- public class Commands implements CommandExecutor {
- private final Main plugin;
- FileConfiguration config = Main.getInstance().conf;
- FileConfiguration genConfig = Main.getInstance().genConfig;
- public Commands(Main plugin) {
- this.plugin = plugin;
- }
- @Override
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- if(sender instanceof Player){
- if(label.equalsIgnoreCase("rg")){
- Player p =(Player) sender;
- if((args.length > 3) && (args[0].equalsIgnoreCase("add"))){
- if(!(p.hasPermission("resourcegens.add"))){
- sender.sendMessage(ChatColor.RED+"You do not have permission!");
- return true;
- }
- BlockIterator iter = new BlockIterator(p, 10);
- Block lastBlock = iter.next();
- while (iter.hasNext()) {
- lastBlock = iter.next();
- if (lastBlock.getType() == Material.AIR) {
- continue;
- }
- break;
- }
- if(!(lastBlock.getType() == Material.CHEST)){
- sender.sendMessage(ChatColor.RED+"Block is not a chest!");
- return true;
- }
- Logger logger = plugin.getLogger();
- String resource = args[2].toUpperCase();
- Material material;
- try {
- material = Material.valueOf(resource);
- } catch (IllegalArgumentException e) {
- logger.severe("Unknown material: " + resource); // if it's not a material
- sender.sendMessage(ChatColor.RED+"Invalid resource: "+ChatColor.GOLD+resource);
- return true;
- }
- String name = args[3];
- if(genConfig.contains(name)){
- sender.sendMessage(ChatColor.RED+"Generator Already Exists!!");
- return true;
- }
- int level = Integer.valueOf(args[1]);
- String b4 = ""+config.getConfigurationSection("levels").getKeys(false);
- String levels = b4.substring(1, b4.length() - 1);
- if(!(Main.getInstance().conf.getConfigurationSection("levels").contains(""+level))){
- sender.sendMessage(ChatColor.RED+"Invalid Level!");
- sender.sendMessage(ChatColor.GREEN+"Valid Levels: "+levels);
- return true;
- }
- Location loc = lastBlock.getLocation();
- int x = loc.getBlockX();
- int y = loc.getBlockY();
- int z = loc.getBlockZ();
- Map<String, ResourceGen> genList = Main.getInstance().getUtils().createGenList();
- if(!(genList == null)){
- for (Entry<String, ResourceGen> entry : genList.entrySet()){
- int x1 = entry.getValue().getX();
- int y1 = entry.getValue().getY();
- int z1 = entry.getValue().getZ();
- if(x == x1 && y == y1 && z == z1){
- sender.sendMessage(ChatColor.RED+"A generator already exists here!");
- return true;
- }
- }
- }
- genConfig.set(name+".x", x);
- genConfig.set(name+".y", y);
- genConfig.set(name+".z", z);
- genConfig.set(name+".level", level);
- genConfig.set(name+".resource", resource);
- Utils.save(genConfig, "generators.yml");;
- sender.sendMessage(ChatColor.GREEN+"Resource Generator level "+ChatColor.GOLD+level+ChatColor.GREEN+" added at "
- +ChatColor.GREEN+"X="+ChatColor.GOLD+x
- +ChatColor.GREEN+" Y="+ChatColor.GOLD+y
- +ChatColor.GREEN+" Z="+ChatColor.GOLD+z
- +ChatColor.GREEN+" generating"
- +ChatColor.GOLD+resource);
- return true;
- }else if((args.length > 1) && (args[0].equalsIgnoreCase("remove"))){
- if(!(p.hasPermission("resourcegens.remove"))){
- sender.sendMessage(ChatColor.RED+"You do not have permission!");
- return true;
- }
- String name = args[1];
- if(!(genConfig.contains(name))){
- sender.sendMessage(ChatColor.RED+"Generator Doesn't Exist!!");
- return true;
- }
- genConfig.set(name, null);
- Utils.save(genConfig, "generators.yml");;
- sender.sendMessage(ChatColor.GREEN+"Resource Generator "+ChatColor.GOLD+name+ChatColor.GREEN+" Removed!");
- return true;
- }else if((args.length > 0) && (args[0].equalsIgnoreCase("list"))){
- if(!(p.hasPermission("resourcegens.list"))){
- sender.sendMessage(ChatColor.RED+"You do not have permission!");
- return true;
- }
- if(genConfig.getConfigurationSection("").getKeys(false).isEmpty()){
- sender.sendMessage(ChatColor.GOLD+"No Resource Generators!");
- return true;
- }
- String b4 = ""+genConfig.getConfigurationSection("").getKeys(false);
- String list = b4.substring(1, b4.length() - 1);
- sender.sendMessage(list);
- return true;
- }else if((args.length > 0) && (args[0].equalsIgnoreCase("levels"))){
- sender.sendMessage(ChatColor.GOLD+"Levels: "+config.getConfigurationSection("levels").getKeys(false));
- return true;
- }else if((args.length > 1) && (args[0].equalsIgnoreCase("info"))){
- if(!(p.hasPermission("resourcegens.info"))){
- sender.sendMessage(ChatColor.RED+"You do not have permission!");
- return true;
- }
- String gen = args[1];
- if(!(genConfig.contains(gen))){
- sender.sendMessage(ChatColor.GOLD+"No Resource Generator with name: "+ChatColor.AQUA+gen);
- sender.sendMessage(ChatColor.GOLD+"Type "+ChatColor.AQUA+"/rg list"+ChatColor.GOLD+" to get all generators!");
- return true;
- }
- int x = genConfig.getInt(gen+".x");
- int y = genConfig.getInt(gen+".y");
- int z = genConfig.getInt(gen+".z");
- int level = genConfig.getInt(gen+".level");
- String resource = genConfig.getString(gen+".resource");
- sender.sendMessage(ChatColor.GREEN+"Name: "+ChatColor.GOLD+gen);
- sender.sendMessage(ChatColor.GREEN+" Level: "+ChatColor.GOLD+level);
- sender.sendMessage(ChatColor.GREEN+" Resource: "+ChatColor.GOLD+resource);
- sender.sendMessage(ChatColor.GREEN+" Location (x, y, z): "
- +ChatColor.GOLD+x
- +ChatColor.GREEN+", "+ChatColor.GOLD+y
- +ChatColor.GREEN+", "+ChatColor.GOLD+z);
- return true;
- }else if((args.length > 0) && (args[0].equalsIgnoreCase("reload"))){
- if(!(p.hasPermission("resourcegens.reload"))){
- sender.sendMessage(ChatColor.RED+"You do not have permission!");
- return true;
- }
- reload(sender);
- return true;
- }
- helpMenu(sender);
- }
- return true;
- }else{
- if(label.equalsIgnoreCase("rg")){
- if((args.length > 0) && (args[0].equalsIgnoreCase("add"))){
- sender.sendMessage("Must be a player!");
- return true;
- }else if((args.length > 0) && (args[0].equalsIgnoreCase("reload"))){
- reload(sender);
- return true;
- }
- helpMenu(sender);
- return true;
- }
- }
- return false;
- }
- private void helpMenu(CommandSender sender){
- sender.sendMessage(ChatColor.GOLD+"----------------Resource Generators v"+Main.getInstance().version+"----------------");
- sender.sendMessage("/rg add <level> <resource> <name> -- Make the chest you're looking at into a generator named x with level x");
- sender.sendMessage("/rg remove <name> -- Removes a generator");
- sender.sendMessage("/rg list -- Lists generators");
- sender.sendMessage("/rg info <name> -- Lists Information about a Generator");
- sender.sendMessage("/rg reload -- Reloads Configs");
- }
- private void reload(CommandSender sender){
- Main.getInstance().fixConf();
- Utils.reload(config, "config.yml");
- Utils.reload(genConfig, "generators.yml");
- sender.sendMessage(ChatColor.GREEN+"Configs Reloaded!");
- }
- }
Add Comment
Please, Sign In to add comment