Advertisement
Guest User

TNTWars

a guest
Jul 1st, 2014
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.27 KB | None | 0 0
  1. package me.junglesociety.tntwars2;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.Location;
  8. import org.bukkit.World;
  9. import org.bukkit.command.Command;
  10. import org.bukkit.command.CommandSender;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.event.Listener;
  13. import org.bukkit.plugin.java.JavaPlugin;
  14. import org.bukkit.scheduler.BukkitScheduler;
  15.  
  16. public class TNTWars extends JavaPlugin implements Listener{
  17.  
  18. SettingsManager settings = SettingsManager.getInstance();
  19.  
  20. @Override
  21. public void onEnable() {
  22. Bukkit.getServer().getPluginManager().registerEvents(this, this);
  23.  
  24. getConfig().options().copyDefaults(true);
  25. saveConfig();
  26.  
  27. settings.getData().createSection("ArenaNumbers");
  28. settings.getData().createSection("Arenas");
  29.  
  30. settings.saveData();
  31. }
  32.  
  33. @Override
  34. public void onDisable() {
  35. saveConfig();
  36. settings.saveData();
  37. }
  38.  
  39. ArenaManager am = ArenaManager.getManager();
  40.  
  41. public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  42.  
  43. if(!(sender instanceof Player)){
  44. sender.sendMessage("You must be a player to do this!");
  45. }else{
  46. final Player player = (Player) sender;
  47.  
  48. //TnTWars Command
  49. if(label.equalsIgnoreCase("tntwars")){
  50. if(args.length == 0){
  51. player.sendMessage("Please use /tntwars help for help!");
  52. }else{
  53. //Join command
  54. if(args[0].equalsIgnoreCase("join")){
  55. if(player.hasPermission("tntwars.join")){
  56. if(args.length > 1){
  57. int num = Integer.parseInt(args[1]);
  58.  
  59. am.addPlayer(player, num);
  60. player.sendMessage(ChatColor.YELLOW + "You have been added to the TNT Wars list!");
  61. }else{
  62. player.sendMessage(ChatColor.RED + "Please specify an arena!");
  63. }
  64. }
  65. }
  66.  
  67.  
  68.  
  69. //Spectate
  70. if(args[0].equalsIgnoreCase("spectate")){
  71. if(player.hasPermission("tntwars.spectate")){
  72. if(args.length > 1){
  73. Integer i = Integer.parseInt(args[1]);
  74.  
  75. if(i == 0 || i == null){
  76. player.sendMessage(ChatColor.RED + "Invalid arena!");
  77. }else{
  78. am.spectate(player, i);
  79. }
  80. }else{
  81. player.sendMessage(ChatColor.RED + "Please specify an arena!");
  82. }
  83. }
  84. }
  85.  
  86.  
  87. //UnSpectate
  88. if(args[0].equalsIgnoreCase("unspectate")){
  89. if(player.hasPermission("tntwars.spectate")){
  90. int arena = 0;
  91. for(Arena a : am.getArenaList()){
  92. if(a.getSpectators().contains(player.getName())){
  93. arena = a.getID();
  94. }
  95. }
  96. if(arena == 0){
  97. player.sendMessage(ChatColor.RED + "You are not spectating!");
  98. }else{
  99. am.unSpectate(player, arena);
  100. player.sendMessage(ChatColor.YELLOW + "You are no longer spectating!");
  101. }
  102. }
  103. }
  104.  
  105.  
  106. //Set Position 1
  107. if(args[0].equalsIgnoreCase("min")){
  108. if(player.hasPermission("tntwars.position")){
  109. if(args.length > 1){
  110. int i = Integer.parseInt(args[1]);
  111.  
  112. Arena a = am.getArena(i);
  113.  
  114. if(a == null){
  115. player.sendMessage(ChatColor.RED + "Invalid Arena!");
  116. }else{
  117. am.setMinLoc(player, i);
  118. player.sendMessage(ChatColor.YELLOW + "Minimum position set!");
  119. }
  120. }else{
  121. player.sendMessage(ChatColor.RED + "Please specify an Arena!");
  122. }
  123. }
  124. }
  125.  
  126.  
  127. //Set Position 2
  128. if(args[0].equalsIgnoreCase("max")){
  129. if(player.hasPermission("tntwars.position")){
  130.  
  131. if(args.length > 1){
  132. int i = Integer.parseInt(args[0]);
  133. Arena a = am.getArena(i);
  134.  
  135. if(a == null){
  136. player.sendMessage(ChatColor.RED + "Invalid Arena!");
  137. }else{
  138. am.setMaxLoc(player, i);
  139. player.sendMessage(ChatColor.YELLOW + "Maximum position set!");
  140. }
  141. }else{
  142. player.sendMessage(ChatColor.RED + "Please specify an arena!");
  143. }
  144.  
  145. }
  146. }
  147.  
  148.  
  149. //Save the arenas schematic file
  150. if(args[0].equalsIgnoreCase("savearena")){
  151. if(player.hasPermission("tntwars.save")){
  152. if(args.length > 1){
  153. int i = Integer.parseInt(args[1]);
  154. Arena a = am.getArena(i);
  155.  
  156. if(a == null){
  157. player.sendMessage(ChatColor.RED + "Invalid Arena!");
  158. }else{
  159. double minx = settings.getData().getDouble("Arenas." + i + ".minloc.x");
  160. double miny = settings.getData().getDouble("Arenas." + i + ".minloc.y");
  161. double minz = settings.getData().getDouble("Arenas." + i + ".minloc.z");
  162. String minworld = settings.getData().getString("Arenas." + i + ".minloc.world");
  163.  
  164. double maxx = settings.getData().getDouble("Arenas." + i + ".maxloc.x");
  165. double maxy = settings.getData().getDouble("Arenas." + i + ".maxloc.y");
  166. double maxz = settings.getData().getDouble("Arenas." + i + ".maxloc.z");
  167. String maxworld = settings.getData().getString("Arenas." + i + ".maxloc.world");
  168.  
  169. Location minloc = new Location(Bukkit.getWorld(minworld), minx, miny, minz);
  170. Location maxloc = new Location(Bukkit.getWorld(maxworld), maxx, maxy, maxz);
  171.  
  172. Double min = Double.valueOf(minx);
  173. Double max = Double.valueOf(maxx);
  174. if(min == null || max == null){
  175. player.sendMessage(ChatColor.RED + "There is no value for a maximum and minimum in this arena, please set one with /TNTWars max and /TNTWars min!");
  176. }else{
  177. am.saveRegion(minloc, maxloc, player, i);
  178. player.sendMessage(ChatColor.YELLOW + "Arena saved!");
  179. }
  180.  
  181. }
  182. }else{
  183. player.sendMessage(ChatColor.RED + "Please specify an arena!");
  184. }
  185. }
  186. }
  187.  
  188.  
  189. //redspawn command
  190. if(args[0].equalsIgnoreCase("setredspawn")){
  191. if(player.hasPermission("tntwars.setredspawn")){
  192. if(args.length > 1){
  193. int i = Integer.parseInt(args[1]);
  194. Arena a = am.getArena(i);
  195.  
  196. if(a == null){
  197. player.sendMessage(ChatColor.RED + "Invalid Arena!");
  198. }else{
  199. am.setRedSpawn(player, i);
  200. player.sendMessage(ChatColor.YELLOW + "Red spawn set for Arena " + i );
  201. }
  202. }else{
  203. player.sendMessage(ChatColor.RED + "Please specify an arena!");
  204. }
  205. }
  206. }
  207.  
  208.  
  209. //bluespawn command
  210. if(args[0].equalsIgnoreCase("setbluespawn")){
  211. if(player.hasPermission("tntwars.setbluespawn")){
  212. if(args.length > 1){
  213. int i = Integer.parseInt(args[1]);
  214. Arena a = am.getArena(i);
  215.  
  216. if(a == null){
  217. player.sendMessage(ChatColor.RED + "Invalid Arena!");
  218. }else{
  219. am.setBlueSpawn(player, i);
  220. player.sendMessage(ChatColor.YELLOW + "Blue spawn set for Arena " + i );
  221. }
  222. }else{
  223. player.sendMessage(ChatColor.RED + "Please specify an arena!");
  224. }
  225. }
  226. }
  227.  
  228.  
  229. //leave the game
  230. if(args[0].equalsIgnoreCase("leave")){
  231. //declare lobby locations
  232. if(player.hasPermission("tntwars.leave")){
  233. int i = 0;
  234. for(Arena arena : am.getArenaList()){
  235. if(arena.getPlayers().contains(player.getName())){
  236. i = arena.getID();
  237. }
  238. }
  239. if(i == 0){
  240. player.sendMessage(ChatColor.RED + "You are not currently in game!");
  241. }else{
  242. am.removePlayer(player, i);
  243. }
  244. }
  245. }
  246.  
  247.  
  248. //Set spectator spawn
  249. if(args[0].equalsIgnoreCase("setspectatorspawn")){
  250. if(player.hasPermission("tntwars.setspectatorspawn")){
  251. if(args.length > 1){
  252. int i = Integer.parseInt(args[1]);
  253. Arena a = am.getArena(i);
  254.  
  255. if(a == null){
  256. player.sendMessage(ChatColor.RED + "Invalid Arena!");
  257. }else{
  258. am.setSpectatorSpawn(player, i);
  259. }
  260.  
  261. }else{
  262. player.sendMessage(ChatColor.RED + "Please specify an arena!");
  263. }
  264. }
  265. }
  266.  
  267. //setlobbyspawn command
  268. if(args[0].equalsIgnoreCase("setlobbyspawn")){
  269. if(player.hasPermission("tntwars.setlobbyspawn")){
  270. am.setLobbySpawn(player);
  271. }
  272. }
  273.  
  274.  
  275. //List arenas
  276. if(args[0].equalsIgnoreCase("list")){
  277. if(player.hasPermission("tntwars.list")){
  278. for(int i : settings.getData().getIntegerList("ArenaNumbers")){
  279. player.sendMessage(ChatColor.GREEN + "Arena #" + i);
  280. }
  281. }
  282. }
  283.  
  284.  
  285. /*
  286. *
  287. * Create arena
  288. *
  289. */
  290.  
  291. if(args[0].equalsIgnoreCase("create")){
  292. if(player.hasPermission("tntwars.create")){
  293. am.createArena(player);
  294. player.sendMessage(ChatColor.GREEN + "Arena created!");
  295. }
  296. }
  297.  
  298. /*
  299. *
  300. * Delete arena
  301. */
  302.  
  303. if(args[0].equalsIgnoreCase("remove")){
  304. if(!(player.hasPermission("tntwars.remove"))){
  305. return false;
  306. }
  307. if(args.length > 1){
  308. Integer i = Integer.parseInt(args[1]);
  309. am.deleteArena(i, player);
  310. }else{
  311. player.sendMessage(ChatColor.RED + "Please specify an arena to remove!");
  312. }
  313. }
  314.  
  315.  
  316. if(args[0].equalsIgnoreCase("todo")){
  317. if(!(player.hasPermission("tntwars.todo"))){
  318. return false;
  319. }
  320. if(args.length > 1){
  321. Integer i = Integer.parseInt(args[1]);
  322. player.sendMessage(ChatColor.YELLOW + "These need to be done: ");
  323. if(settings.getData().get("Arenas." + i + ".bluespawn.x").equals(null)){
  324. player.sendMessage(ChatColor.BLUE + "Blue Spawn needs to be set");
  325. }
  326.  
  327. if(settings.getData().get("Arenas." + i + ".redspawn.x").equals(null)){
  328. player.sendMessage(ChatColor.BLUE + "Red Spawn needs to be set");
  329. }
  330.  
  331. if(settings.getData().get("Arenas." + i + ".specspawn.x").equals(null)){
  332. player.sendMessage(ChatColor.BLUE + "Spectator Spawn needs to be set");
  333. }
  334.  
  335. if(settings.getData().get("Arenas." + i + ".minloc.x").equals(null)){
  336. player.sendMessage(ChatColor.BLUE + "Minimum Location needs to be set");
  337. }
  338.  
  339. if(settings.getData().get("Arenas." + i + ".maxloc.x").equals(null)){
  340. player.sendMessage(ChatColor.BLUE + "Maximum Location needs to be set");
  341. }
  342. }else{
  343. player.sendMessage(ChatColor.RED + "Please specify an arena to check what needs to be done!");
  344. }
  345. }
  346.  
  347. //Help command
  348. if(args[0].equalsIgnoreCase("help")){
  349. if(player.hasPermission("tntwars.help")){
  350. if(player.hasPermission("tntwars.join")){
  351. player.sendMessage(ChatColor.GREEN + "/TNTWars Join" + ChatColor.BLUE + " {Arena ID}");
  352. }
  353. if(player.hasPermission("tntwars.leave")){
  354. player.sendMessage(ChatColor.GREEN + "/TNTWars Leave");
  355. }
  356. if(player.hasPermission("tntwars.spectate")){
  357. player.sendMessage(ChatColor.GREEN + "/TNTWars Spectate" + ChatColor.BLUE + " {Arena ID}");
  358. }
  359. if(player.hasPermission("tntwars.min")){
  360. player.sendMessage(ChatColor.GREEN + "/TNTWars Min" + ChatColor.BLUE + " {Arena ID}");
  361. }
  362. if(player.hasPermission("tntwars.max")){
  363. player.sendMessage(ChatColor.GREEN + "/TNTWars Max" + ChatColor.BLUE + " {Arena ID}");
  364. }
  365. if(player.hasPermission("tntwars.setlobbyspawn")){
  366. player.sendMessage(ChatColor.GREEN + "/TNTWars SetLobbySpawn");
  367. }
  368. if(player.hasPermission("tntwars.setredspawn")){
  369. player.sendMessage(ChatColor.GREEN + "/TNTWars SetRedSpawn" + ChatColor.BLUE + " {Arena ID}");
  370. }
  371. if(player.hasPermission("tntwars.setbluespawn")){
  372. player.sendMessage(ChatColor.GREEN + "/TNTWars SetBlueSpawn" + ChatColor.BLUE + " {Arena ID}");
  373. }
  374. if(player.hasPermission("tntwars.save")){
  375. player.sendMessage(ChatColor.GREEN + "/TNTWars SaveArena" + ChatColor.BLUE + " {Arena ID}");
  376. }
  377. if(player.hasPermission("tntwars.list")){
  378. player.sendMessage(ChatColor.GREEN + "/TNTWars list");
  379. }
  380. if(player.hasPermission("tntwars.help")){
  381. player.sendMessage(ChatColor.GREEN + "/TNTWars Help");
  382. }
  383. }
  384. }
  385.  
  386. //If their command doesnt exist
  387. if(!(args[0].equalsIgnoreCase("join") || args[0].equalsIgnoreCase("create") || args[0].equalsIgnoreCase("todo") || args[0].equalsIgnoreCase("remove") || args[0].equalsIgnoreCase("help") || args[0].equalsIgnoreCase("leave") || args[0].equalsIgnoreCase("spectate") || args[0].equalsIgnoreCase("min") || args[0].equalsIgnoreCase("setlobbyspawn") || args[0].equalsIgnoreCase("setbluespawn") || args[0].equalsIgnoreCase("setredspawn") || args[0].equalsIgnoreCase("setspectatorspawn") || args[0].equalsIgnoreCase("save") || args[0].equalsIgnoreCase("max") || args[0].equalsIgnoreCase("list"))){
  388.  
  389. player.sendMessage(ChatColor.RED + "Please use /tntwars help for help!");
  390. }
  391. }
  392. }
  393. }
  394.  
  395.  
  396. return false;
  397. }
  398.  
  399. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement