Advertisement
Guest User

Untitled

a guest
Apr 8th, 2016
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.22 KB | None | 0 0
  1. package KillBattle;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.Location;
  8. import org.bukkit.World;
  9. import org.bukkit.entity.Player;
  10. import org.bukkit.event.Listener;
  11.  
  12.  
  13. public class MapConfig implements Listener{
  14.  
  15. public static Location CoordenadasLobby;
  16.  
  17. public static int jugadoresMaximos, jugadoresMinimos, duracionSegundosPartida, distanciaProteccionSpawn, partidasAntesDelReinicio, mysqlPort;
  18. public static String mysqlDatabase, mysqlHost, mysqlUsername, mysqlPassword;
  19. public static List<Location> locs = new ArrayList<>();
  20. public static List<Location> locs2 = new ArrayList<>();
  21. public static List<Location> locs3 = new ArrayList<>();
  22. public static List<Location> locs4 = new ArrayList<>();
  23.  
  24. /**Metodo para cargar la configuración del fichero, si no existe se creará
  25. * la carpeta y se copiará la plantilla**/
  26. public static void loadConfig(){
  27. mainClass.getInstance().getConfig().options().copyDefaults(true);
  28. mainClass.getInstance().saveConfig();
  29.  
  30. /* Mi edici§n empieza AQU§ (Todo el resto es de DarkMein) */
  31. // Le decimos a bukkit que el mundo es el Principal
  32. World mundo = Bukkit.getWorlds().get(0);
  33.  
  34. // Variables Extraídas De La Configuración
  35. CoordenadasLobby = getLocation("CoordenadasLobby", mundo);
  36. jugadoresMinimos = mainClass.getInstance().getConfig().getInt("jugadoresMinimos");
  37. jugadoresMaximos = mainClass.getInstance().getConfig().getInt("jugadoresMaximos");
  38. distanciaProteccionSpawn = mainClass.getInstance().getConfig().getInt("distanciaProteccionSpawn");
  39. duracionSegundosPartida = mainClass.getInstance().getConfig().getInt("duracionSegundosPartida");
  40. partidasAntesDelReinicio = mainClass.getInstance().getConfig().getInt("partidasAntesDelReinicio");
  41.  
  42. // Mysql
  43. mysqlPort = mainClass.getInstance().getConfig().getInt("Mysql.Puerto");
  44. mysqlDatabase = mainClass.getInstance().getConfig().getString("Mysql.Database");
  45. mysqlHost = mainClass.getInstance().getConfig().getString("Mysql.Host");
  46. mysqlUsername = mainClass.getInstance().getConfig().getString("Mysql.Username");
  47. mysqlPassword = mainClass.getInstance().getConfig().getString("Mysql.Password");
  48.  
  49. // Cargamos las coords de los 4 mapas
  50. locs.clear();
  51. for (String str : mainClass.getInstance().getConfig().getStringList("Coords")){
  52. locs.add(getLocationFromString(str, mundo));
  53. }
  54.  
  55. locs2.clear();
  56. for (String str : mainClass.getInstance().getConfig().getStringList("Coords2")){
  57. locs2.add(getLocationFromString(str, mundo));
  58. }
  59.  
  60. locs3.clear();
  61. for (String str : mainClass.getInstance().getConfig().getStringList("Coords3")){
  62. locs3.add(getLocationFromString(str, mundo));
  63. }
  64.  
  65. locs4.clear();
  66. for (String str : mainClass.getInstance().getConfig().getStringList("Coords4")){
  67. locs4.add(getLocationFromString(str, mundo));
  68. }
  69. /* Mi edici§n termina AQU§ (Todo el resto es de DarkMein) */
  70. }
  71.  
  72. public static void añadirLocation(Location loc, String map){
  73.  
  74. if(map.equalsIgnoreCase("MapaUno")) {
  75. locs.add(loc);
  76. } else if(map.equalsIgnoreCase("MapaDos")) {
  77. locs2.add(loc);
  78. }if(map.equalsIgnoreCase("MapaTres")) {
  79. locs3.add(loc);
  80. }if(map.equalsIgnoreCase("MapaCuatro")) {
  81. locs4.add(loc);
  82. }
  83. guardarArray(map);
  84. }
  85.  
  86.  
  87. public static void guardarArray(String map) {
  88.  
  89. if(map.equalsIgnoreCase("MapaUno")) {
  90. List<String> listaaGuardar = new ArrayList<>();
  91. for (Location loc : locs) {
  92. listaaGuardar.add(convertLocationToString(loc));
  93. }
  94. mainClass.getInstance().getConfig().set("Coords", listaaGuardar);
  95. } else if(map.equalsIgnoreCase("MapaDos")) {
  96. List<String> listaaGuardar = new ArrayList<>();
  97. for (Location loc : locs2) {
  98. listaaGuardar.add(convertLocationToString(loc));
  99. }
  100. mainClass.getInstance().getConfig().set("Coords2", listaaGuardar);
  101. } else if(map.equalsIgnoreCase("MapaTres")) {
  102. List<String> listaaGuardar = new ArrayList<>();
  103. for (Location loc : locs3) {
  104. listaaGuardar.add(convertLocationToString(loc));
  105. }
  106. mainClass.getInstance().getConfig().set("Coords3", listaaGuardar);
  107. } else if(map.equalsIgnoreCase("MapaCuatro")) {
  108. List<String> listaaGuardar = new ArrayList<>();
  109. for (Location loc : locs4) {
  110. listaaGuardar.add(convertLocationToString(loc));
  111. }
  112. for(Player player : Bukkit.getOnlinePlayers()) {
  113. player.sendMessage("Guardado coord map 4");
  114. }
  115. mainClass.getInstance().getConfig().set("Coords4", listaaGuardar);
  116. }
  117.  
  118.  
  119.  
  120. }
  121.  
  122.  
  123. /**Procesa una location guardada en formato texto y devuelve una Location*/
  124. public static Location getLocationFromString(String locString, World world){
  125. double x, y, z; // 0,0,0,0,0
  126. float yaw = 0, pitch = 0;
  127. String coords[] = locString.split(", ");
  128.  
  129. x = Double.parseDouble(coords[0]);
  130. y = Double.parseDouble(coords[1]);
  131. z = Double.parseDouble(coords[2]);
  132.  
  133. if (coords.length > 3){
  134. yaw = Float.parseFloat(coords[3]);
  135. pitch = Float.parseFloat(coords[4]);
  136. }
  137. return new Location(world, x, y, z, yaw, pitch);
  138. }
  139.  
  140. /**Extrae una unica Location de la config especificandole la ruta*/
  141. public static Location getLocation(String ruta, World world){
  142. double x = 0, y = 0, z = 0;
  143. float yaw = 0, pitch = 0;
  144. System.out.println(ruta);
  145. System.out.println(mainClass.getInstance().getConfig().getString(ruta));
  146.  
  147. String[] coords = mainClass.getInstance().getConfig().getString(ruta).split(", ");
  148.  
  149. x = Double.parseDouble(coords[0]);
  150. y = Double.parseDouble(coords[1]);
  151. z = Double.parseDouble(coords[2]);
  152.  
  153. if (coords.length > 3){
  154. yaw = Float.parseFloat(coords[3]);
  155. pitch = Float.parseFloat(coords[4]);
  156. }
  157. return new Location(world, x, y, z, yaw, pitch);
  158. }
  159.  
  160. /**Guarda una location en la configuración*/
  161. public static void saveLocation(Location loc, String ruta){
  162. mainClass.getInstance().getConfig().set(ruta, convertLocationToString(loc));
  163. mainClass.getInstance().saveConfig();
  164. }
  165.  
  166. /**Convierte una location en un String para ser guardado en la configuración*/
  167. public static String convertLocationToString(Location loc){
  168. String locString = loc.getX() + ", " + loc.getY() + ", " + loc.getZ() + ", " + loc.getYaw() + ", " + loc.getPitch();
  169. return locString;
  170. }
  171. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement