cj89898_2

Untitled

Aug 7th, 2016
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.98 KB | None | 0 0
  1. package net.cjservers.resourcegens;
  2.  
  3.  
  4. import java.util.Map;
  5. import java.util.Map.Entry;
  6. import java.util.logging.Logger;
  7.  
  8. import net.cjservers.resourcegens.Objects.ResourceGen;
  9.  
  10. import org.bukkit.ChatColor;
  11. import org.bukkit.Location;
  12. import org.bukkit.Material;
  13. import org.bukkit.block.Block;
  14. import org.bukkit.command.Command;
  15. import org.bukkit.command.CommandExecutor;
  16. import org.bukkit.command.CommandSender;
  17. import org.bukkit.configuration.file.FileConfiguration;
  18. import org.bukkit.entity.Player;
  19. import org.bukkit.util.BlockIterator;
  20.  
  21. public class Commands implements CommandExecutor {
  22. private final Main plugin;
  23.  
  24. FileConfiguration config = Main.getInstance().conf;
  25. FileConfiguration genConfig = Main.getInstance().genConfig;
  26.  
  27. public Commands(Main plugin) {
  28. this.plugin = plugin;
  29. }
  30.  
  31. @Override
  32. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  33. if(sender instanceof Player){
  34. if(label.equalsIgnoreCase("rg")){
  35. Player p =(Player) sender;
  36. if((args.length > 3) && (args[0].equalsIgnoreCase("add"))){
  37. if(!(p.hasPermission("resourcegens.add"))){
  38. sender.sendMessage(ChatColor.RED+"You do not have permission!");
  39. return true;
  40. }
  41. BlockIterator iter = new BlockIterator(p, 10);
  42. Block lastBlock = iter.next();
  43. while (iter.hasNext()) {
  44. lastBlock = iter.next();
  45. if (lastBlock.getType() == Material.AIR) {
  46. continue;
  47. }
  48. break;
  49. }
  50. if(!(lastBlock.getType() == Material.CHEST)){
  51. sender.sendMessage(ChatColor.RED+"Block is not a chest!");
  52. return true;
  53. }
  54. Logger logger = plugin.getLogger();
  55. String resource = args[2].toUpperCase();
  56. Material material;
  57. try {
  58. material = Material.valueOf(resource);
  59. } catch (IllegalArgumentException e) {
  60. logger.severe("Unknown material: " + resource); // if it's not a material
  61. sender.sendMessage(ChatColor.RED+"Invalid resource: "+ChatColor.GOLD+resource);
  62. return true;
  63. }
  64. String name = args[3];
  65. if(genConfig.contains(name)){
  66. sender.sendMessage(ChatColor.RED+"Generator Already Exists!!");
  67. return true;
  68. }
  69. int level = Integer.valueOf(args[1]);
  70. String b4 = ""+config.getConfigurationSection("levels").getKeys(false);
  71. String levels = b4.substring(1, b4.length() - 1);
  72. if(!(Main.getInstance().conf.getConfigurationSection("levels").contains(""+level))){
  73. sender.sendMessage(ChatColor.RED+"Invalid Level!");
  74. sender.sendMessage(ChatColor.GREEN+"Valid Levels: "+levels);
  75. return true;
  76. }
  77. Location loc = lastBlock.getLocation();
  78. int x = loc.getBlockX();
  79. int y = loc.getBlockY();
  80. int z = loc.getBlockZ();
  81. Map<String, ResourceGen> genList = Main.getInstance().getUtils().createGenList();
  82. if(!(genList == null)){
  83. for (Entry<String, ResourceGen> entry : genList.entrySet()){
  84. int x1 = entry.getValue().getX();
  85. int y1 = entry.getValue().getY();
  86. int z1 = entry.getValue().getZ();
  87. if(x == x1 && y == y1 && z == z1){
  88. sender.sendMessage(ChatColor.RED+"A generator already exists here!");
  89. return true;
  90. }
  91. }
  92. }
  93. genConfig.set(name+".x", x);
  94. genConfig.set(name+".y", y);
  95. genConfig.set(name+".z", z);
  96. genConfig.set(name+".level", level);
  97. genConfig.set(name+".resource", resource);
  98. Utils.save(genConfig, "generators.yml");;
  99. sender.sendMessage(ChatColor.GREEN+"Resource Generator level "+ChatColor.GOLD+level+ChatColor.GREEN+" added at "
  100. +ChatColor.GREEN+"X="+ChatColor.GOLD+x
  101. +ChatColor.GREEN+" Y="+ChatColor.GOLD+y
  102. +ChatColor.GREEN+" Z="+ChatColor.GOLD+z
  103. +ChatColor.GREEN+" generating"
  104. +ChatColor.GOLD+resource);
  105. return true;
  106. }else if((args.length > 1) && (args[0].equalsIgnoreCase("remove"))){
  107. if(!(p.hasPermission("resourcegens.remove"))){
  108. sender.sendMessage(ChatColor.RED+"You do not have permission!");
  109. return true;
  110. }
  111. String name = args[1];
  112. if(!(genConfig.contains(name))){
  113. sender.sendMessage(ChatColor.RED+"Generator Doesn't Exist!!");
  114. return true;
  115. }
  116. genConfig.set(name, null);
  117. Utils.save(genConfig, "generators.yml");;
  118. sender.sendMessage(ChatColor.GREEN+"Resource Generator "+ChatColor.GOLD+name+ChatColor.GREEN+" Removed!");
  119. return true;
  120. }else if((args.length > 0) && (args[0].equalsIgnoreCase("list"))){
  121. if(!(p.hasPermission("resourcegens.list"))){
  122. sender.sendMessage(ChatColor.RED+"You do not have permission!");
  123. return true;
  124. }
  125. if(genConfig.getConfigurationSection("").getKeys(false).isEmpty()){
  126. sender.sendMessage(ChatColor.GOLD+"No Resource Generators!");
  127. return true;
  128. }
  129. String b4 = ""+genConfig.getConfigurationSection("").getKeys(false);
  130. String list = b4.substring(1, b4.length() - 1);
  131. sender.sendMessage(list);
  132. return true;
  133. }else if((args.length > 0) && (args[0].equalsIgnoreCase("levels"))){
  134. sender.sendMessage(ChatColor.GOLD+"Levels: "+config.getConfigurationSection("levels").getKeys(false));
  135. return true;
  136. }else if((args.length > 1) && (args[0].equalsIgnoreCase("info"))){
  137. if(!(p.hasPermission("resourcegens.info"))){
  138. sender.sendMessage(ChatColor.RED+"You do not have permission!");
  139. return true;
  140. }
  141. String gen = args[1];
  142. if(!(genConfig.contains(gen))){
  143. sender.sendMessage(ChatColor.GOLD+"No Resource Generator with name: "+ChatColor.AQUA+gen);
  144. sender.sendMessage(ChatColor.GOLD+"Type "+ChatColor.AQUA+"/rg list"+ChatColor.GOLD+" to get all generators!");
  145. return true;
  146. }
  147. int x = genConfig.getInt(gen+".x");
  148. int y = genConfig.getInt(gen+".y");
  149. int z = genConfig.getInt(gen+".z");
  150. int level = genConfig.getInt(gen+".level");
  151. String resource = genConfig.getString(gen+".resource");
  152. sender.sendMessage(ChatColor.GREEN+"Name: "+ChatColor.GOLD+gen);
  153. sender.sendMessage(ChatColor.GREEN+" Level: "+ChatColor.GOLD+level);
  154. sender.sendMessage(ChatColor.GREEN+" Resource: "+ChatColor.GOLD+resource);
  155. sender.sendMessage(ChatColor.GREEN+" Location (x, y, z): "
  156. +ChatColor.GOLD+x
  157. +ChatColor.GREEN+", "+ChatColor.GOLD+y
  158. +ChatColor.GREEN+", "+ChatColor.GOLD+z);
  159. return true;
  160. }else if((args.length > 0) && (args[0].equalsIgnoreCase("reload"))){
  161. if(!(p.hasPermission("resourcegens.reload"))){
  162. sender.sendMessage(ChatColor.RED+"You do not have permission!");
  163. return true;
  164. }
  165. reload(sender);
  166. return true;
  167. }
  168. helpMenu(sender);
  169. }
  170. return true;
  171. }else{
  172. if(label.equalsIgnoreCase("rg")){
  173. if((args.length > 0) && (args[0].equalsIgnoreCase("add"))){
  174. sender.sendMessage("Must be a player!");
  175. return true;
  176. }else if((args.length > 0) && (args[0].equalsIgnoreCase("reload"))){
  177. reload(sender);
  178. return true;
  179. }
  180. helpMenu(sender);
  181. return true;
  182. }
  183. }
  184. return false;
  185. }
  186. private void helpMenu(CommandSender sender){
  187. sender.sendMessage(ChatColor.GOLD+"----------------Resource Generators v"+Main.getInstance().version+"----------------");
  188. sender.sendMessage("/rg add <level> <resource> <name> -- Make the chest you're looking at into a generator named x with level x");
  189. sender.sendMessage("/rg remove <name> -- Removes a generator");
  190. sender.sendMessage("/rg list -- Lists generators");
  191. sender.sendMessage("/rg info <name> -- Lists Information about a Generator");
  192. sender.sendMessage("/rg reload -- Reloads Configs");
  193. }
  194.  
  195. private void reload(CommandSender sender){
  196. Main.getInstance().fixConf();
  197. Utils.reload(config, "config.yml");
  198. Utils.reload(genConfig, "generators.yml");
  199. sender.sendMessage(ChatColor.GREEN+"Configs Reloaded!");
  200. }
  201. }
Add Comment
Please, Sign In to add comment