Advertisement
Guest User

Untitled

a guest
Jun 21st, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.18 KB | None | 0 0
  1. package ru.frank.connector;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.Location;
  9. import org.bukkit.World;
  10. import org.bukkit.block.Block;
  11. import org.bukkit.command.Command;
  12. import org.bukkit.command.CommandExecutor;
  13. import org.bukkit.command.CommandSender;
  14. import org.bukkit.entity.Player;
  15.  
  16. import ru.frank.api.Cuboid;
  17.  
  18. public class Private implements CommandExecutor {
  19.  
  20. private Mainclass plugin = Mainclass.getPlugin(Mainclass.class);
  21.  
  22. @Override
  23. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  24. if(cmd.getName().equalsIgnoreCase("private")) {
  25. if(!(sender instanceof Player)) {
  26. sender.sendMessage(ChatColor.RED + "Только для игроков!");
  27. } else {
  28. if(args.length != 1) {
  29. sender.sendMessage(ChatColor.RED + "Недостаточно аргументов!");
  30. } else {
  31. Player p = (Player) sender;
  32. List<String> list = new ArrayList<String>();
  33. for(int i = 0; i != Mainclass.getPrivate().size(); i++) {
  34. if(Mainclass.getPrivate().get(i).getPlayer().getName().equals(p.getName())) {
  35. list.add(String.valueOf(i));
  36. }
  37. }
  38. Boolean next = true;
  39. if(list.size() != 2) {
  40. p.sendMessage(ChatColor.RED + "Не выделены точки!");
  41. } else {
  42. for(String privater : plugin.getConfig().getStringList(".Privates")) {
  43. World world = Bukkit.getWorld(plugin.getConfig().getString("Private." + privater + ".world"));
  44. double x1 = plugin.getConfig().getDouble("Private." + privater + ".x1");
  45. double y1 = plugin.getConfig().getDouble("Private." + privater + ".y1");
  46. double z1 = plugin.getConfig().getDouble("Private." + privater + ".z1");
  47. double x2 = plugin.getConfig().getDouble("Private." + privater + ".x2");
  48. double y2 = plugin.getConfig().getDouble("Private." + privater + ".y2");
  49. double z2 = plugin.getConfig().getDouble("Private." + privater + ".z2");
  50. Location loc1 = new Location(world, x1, y1, z1);
  51. Location loc2 = new Location(world, x2, y2, z2);
  52. Cuboid cub1 = new Cuboid(loc1, loc2);
  53. Cuboid cub2 = new Cuboid(Mainclass.getPrivate().get(Integer.parseInt(list.get(0))).getLocation(), Mainclass.getPrivate().get(Integer.parseInt(list.get(1))).getLocation());
  54. for(Block block : cub2.getBlocks()) {
  55. if(cub1.contains(block.getLocation())) {
  56. next = false;
  57. break;
  58. }
  59. }
  60. }
  61. if(next == false) {
  62. p.sendMessage(ChatColor.RED + "Происходит пересечение с другими регионами!");
  63. } else {
  64. if(plugin.getConfig().getStringList(".Privates").contains(args[0])) {
  65. p.sendMessage(ChatColor.RED + "Такое название региона уже используется!");
  66. } else {
  67. plugin.getConfig().set("Private." + args[0] + ".world", Mainclass.getPrivate().get(Integer.parseInt(list.get(0))).getLocation().getWorld().getName());
  68. plugin.getConfig().set("Private." + args[0] + ".x1", Mainclass.getPrivate().get(Integer.parseInt(list.get(0))).getLocation().getX());
  69. plugin.getConfig().set("Private." + args[0] + ".y1", Mainclass.getPrivate().get(Integer.parseInt(list.get(0))).getLocation().getY());
  70. plugin.getConfig().set("Private." + args[0] + ".z1", Mainclass.getPrivate().get(Integer.parseInt(list.get(0))).getLocation().getZ());
  71. plugin.getConfig().set("Private." + args[0] + ".x2", Mainclass.getPrivate().get(Integer.parseInt(list.get(1))).getLocation().getX());
  72. plugin.getConfig().set("Private." + args[0] + ".y2", Mainclass.getPrivate().get(Integer.parseInt(list.get(1))).getLocation().getY());
  73. plugin.getConfig().set("Private." + args[0] + ".z2", Mainclass.getPrivate().get(Integer.parseInt(list.get(1))).getLocation().getZ());
  74. List<String> liste = new ArrayList<String>();
  75. liste.add(p.getName());
  76. plugin.getConfig().set("Private." + args[0] + ".players", liste);
  77. List<String> esketit = plugin.getConfig().getStringList(".Privates");
  78. esketit.add(args[0]);
  79. plugin.getConfig().set(".Privates", esketit);
  80. plugin.saveConfig();
  81. p.sendMessage(ChatColor.GREEN + "Территория успешно запривачена!");
  82. }
  83. }
  84. }
  85. }
  86. }
  87. }
  88. return true;
  89. }
  90.  
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement