danik159

InventoryCommand.java

Mar 31st, 2020
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.46 KB | None | 0 0
  1. package com.chickenstyle.fullInventory;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5.  
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.Sound;
  8. import org.bukkit.command.Command;
  9. import org.bukkit.command.CommandExecutor;
  10. import org.bukkit.command.CommandSender;
  11. import org.bukkit.configuration.file.YamlConfiguration;
  12.  
  13. public class InventoryCommand implements CommandExecutor {
  14. public static boolean isInteger(String s) {
  15. try {
  16. Integer.parseInt(s);
  17. } catch(NumberFormatException e) {
  18. return false;
  19. } catch(NullPointerException e) {
  20. return false;
  21. }
  22. return true;
  23. }
  24.  
  25. public static boolean isSound(String s) {
  26. try {
  27. Sound.valueOf(s);
  28. } catch(Exception e) {
  29. return false;
  30. }
  31. return true;
  32. }
  33.  
  34. public static boolean isDouble(String s) {
  35. try {
  36. Double.valueOf(s);
  37. } catch(Exception e) {
  38. return false;
  39. }
  40. return true;
  41. }
  42.  
  43. @Override
  44. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  45. Main main = Main.getPlugin(Main.class);
  46. File file = new File(Main.getPlugin(Main.class).getDataFolder(), "config.yml");
  47. YamlConfiguration config = YamlConfiguration.loadConfiguration(file);
  48. if (args.length == 1) {
  49. switch (args[0].toLowerCase()) {
  50. case "reload":
  51. if (sender.hasPermission("inventory.reload") || sender.hasPermission("inventory.admin")) {
  52. try {
  53. config.save(file);
  54. main.reloadConfig();
  55. } catch (IOException e) {
  56. e.printStackTrace();
  57. }
  58. sender.sendMessage(ChatColor.GREEN + "Config Has Been Reloaded");
  59. } else {
  60. sender.sendMessage(ChatColor.RED + "You dont have permission to use this command!");
  61. }
  62. break;
  63.  
  64. case "help":
  65. if (sender.hasPermission("inventory.help") || sender.hasPermission("inventory.admin")) {
  66. sender.sendMessage(ChatColor.GRAY + "<---------------------------------->");
  67. sender.sendMessage(ChatColor.GRAY + "/inv reload // reloads you config");
  68. sender.sendMessage(ChatColor.GRAY + "");
  69. sender.sendMessage(ChatColor.GRAY + "/inv settype (text/title) // sets the type of the message");
  70. sender.sendMessage(ChatColor.GRAY + "");
  71. sender.sendMessage(ChatColor.GRAY + "/inv setdelay [seconds] // sets delay between message (I dont suggest to use it)");
  72. sender.sendMessage(ChatColor.GRAY + "");
  73. sender.sendMessage(ChatColor.GRAY + "/inv setmessage [message] // sets the message");
  74. sender.sendMessage(ChatColor.GRAY + "");
  75. sender.sendMessage(ChatColor.GRAY + "/inv setsound [sound's name] // sets the sound for the message");
  76. sender.sendMessage(ChatColor.GRAY + "");
  77. sender.sendMessage(ChatColor.GRAY + "/inv setduration [seconds] // sets the sound for the message");
  78. sender.sendMessage(ChatColor.GRAY + "<---------------------------------->");
  79. } else {
  80. sender.sendMessage(ChatColor.RED + "You dont have permission to use this command!");
  81. }
  82. break;
  83.  
  84. default:
  85. sender.sendMessage(ChatColor.RED + "Invalid Usage");
  86. sender.sendMessage(ChatColor.RED + "Type: /inv help");
  87. break;
  88. }
  89.  
  90. } else if (args.length >= 2) {
  91. switch (args[0].toLowerCase()) {
  92. case "settype":
  93. if (sender.hasPermission("inventory.admin") || sender.hasPermission("inventory.settype")) {
  94. if (args[1].toLowerCase().equals("text") || args[1].toLowerCase().equals("title")) {
  95. config.set("typeofmessage", args[1].toLowerCase());
  96. try {
  97. config.save(file);
  98. main.reloadConfig();
  99. } catch (IOException e) {
  100. e.printStackTrace();
  101. }
  102. sender.sendMessage(ChatColor.GREEN + "Type was set successfully");
  103. } else {
  104. sender.sendMessage(ChatColor.RED + "Invalid Usage");
  105. sender.sendMessage(ChatColor.RED + "Type: /inv help");
  106. }
  107. } else {
  108. sender.sendMessage(ChatColor.RED + "You dont have permission to use this command!");
  109. }
  110. break;
  111.  
  112. case "setdelay":
  113. if (sender.hasPermission("inventory.setdelay") || sender.hasPermission("inventory.admin")) {
  114. if (isInteger(args[1])) {
  115. config.set("delaytime", Integer.valueOf(args[1]));
  116. try {
  117. config.save(file);
  118. main.reloadConfig();
  119. } catch (IOException e) {
  120. e.printStackTrace();
  121. }
  122. sender.sendMessage(ChatColor.GREEN + "Delay was set successfully");
  123. } else {
  124. sender.sendMessage(ChatColor.RED + "Invalid Number");
  125. sender.sendMessage(ChatColor.RED + "Type: /inv help");
  126. }
  127. } else {
  128. sender.sendMessage(ChatColor.RED + "You dont have permission to use this command!");
  129. }
  130.  
  131. break;
  132.  
  133. case "setmessage":
  134. if (sender.hasPermission("inventory.setmessage") || sender.hasPermission("inventory.admin")) {
  135. StringBuilder builder = new StringBuilder();
  136. for (int i = 1; i < args.length; i++) {
  137. builder.append(args[i]).append(" ");
  138. }
  139. String msg = builder.toString();
  140. config.set("message", msg);
  141. try {
  142. config.save(file);
  143. main.reloadConfig();
  144. } catch (IOException e) {
  145. e.printStackTrace();
  146. }
  147. sender.sendMessage(ChatColor.GREEN + "Message was set successfully");
  148. } else {
  149. sender.sendMessage(ChatColor.RED + "You dont have permission to use this command!");
  150. }
  151. break;
  152.  
  153. case "setsound":
  154. if (sender.hasPermission("inventory.setsound") || sender.hasPermission("inventory.admin")) {
  155. if (isSound(args[1].toUpperCase())) {
  156. config.set("sound", args[1].toUpperCase());
  157. try {
  158. config.save(file);
  159. main.reloadConfig();
  160. } catch (IOException e) {
  161. e.printStackTrace();
  162. }
  163. sender.sendMessage(ChatColor.GREEN + "Sound was set successfully");
  164. } else {
  165. sender.sendMessage(ChatColor.RED + "Unvalid Sound");
  166. }
  167. }
  168. break;
  169.  
  170. case "setduration":
  171. if (sender.hasPermission("inventory.setduration") || sender.hasPermission("inventory.admin")) {
  172. if (isDouble(args[1])) {
  173. config.set("setduration", Double.valueOf(args[1]));
  174. try {
  175. config.save(file);
  176. main.reloadConfig();
  177. } catch (IOException e) {
  178. e.printStackTrace();
  179. }
  180. sender.sendMessage(ChatColor.GREEN + "Message's duration was set successfully");
  181. } else {
  182. sender.sendMessage(ChatColor.RED + "Invalid Number");
  183. }
  184. }
  185. break;
  186.  
  187. default:
  188. sender.sendMessage(ChatColor.RED + "Type: /inv help");
  189. break;
  190.  
  191.  
  192. }
  193.  
  194.  
  195.  
  196.  
  197.  
  198. } else {
  199. sender.sendMessage(ChatColor.RED + "Invalid Usage");
  200. sender.sendMessage(ChatColor.RED + "Correct Usage: /inv help");
  201. }
  202. return false;
  203. }
  204.  
  205. }
Add Comment
Please, Sign In to add comment