Update of Preview command.
Now saves the world!
This commit is contained in:
		@@ -25,39 +25,29 @@ public class PlayerListener implements Listener {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	@EventHandler(priority = EventPriority.HIGHEST)
 | 
						@EventHandler(priority = EventPriority.HIGHEST)
 | 
				
			||||||
	public void onPlayerTeleportEvent(PlayerTeleportEvent event) {
 | 
						public void onPlayerTeleportEvent(final PlayerTeleportEvent event) {
 | 
				
			||||||
		final Player player = event.getPlayer();
 | 
							final Player player = event.getPlayer();
 | 
				
			||||||
		MessageM.broadcastMessage("-2", false);
 | 
					 | 
				
			||||||
		if (W.previewWorlds.contains(event.getFrom().getWorld().getName())) {
 | 
							if (W.previewWorlds.contains(event.getFrom().getWorld().getName())) {
 | 
				
			||||||
			MessageM.broadcastMessage("-1", false);
 | 
					 | 
				
			||||||
			if (!event.getFrom().getWorld().getName()
 | 
								if (!event.getFrom().getWorld().getName()
 | 
				
			||||||
					.equals(event.getTo().getWorld().getName())) {
 | 
										.equals(event.getTo().getWorld().getName())) {
 | 
				
			||||||
				MessageM.broadcastMessage("0", false);
 | 
					 | 
				
			||||||
				final String worldLoc = event.getFrom().getWorld().getName();
 | 
									final String worldLoc = event.getFrom().getWorld().getName();
 | 
				
			||||||
				boolean unload = true;
 | 
									boolean unload = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				for (Player pl : Bukkit.getOnlinePlayers()) {
 | 
									for (Player pl : Bukkit.getOnlinePlayers()) {
 | 
				
			||||||
					MessageM.broadcastMessage("1", false);
 | 
					 | 
				
			||||||
					if (pl.getLocation().getWorld().getName().equals(worldLoc)) {
 | 
										if (pl.getLocation().getWorld().getName().equals(worldLoc)) {
 | 
				
			||||||
						MessageM.broadcastMessage("2", false);
 | 
					 | 
				
			||||||
						if (!pl.equals(player)) {
 | 
											if (!pl.equals(player)) {
 | 
				
			||||||
							MessageM.broadcastMessage("3a", false);
 | 
					 | 
				
			||||||
							unload = false;
 | 
												unload = false;
 | 
				
			||||||
						} else {
 | 
					 | 
				
			||||||
							MessageM.broadcastMessage("3b", false);
 | 
					 | 
				
			||||||
						}
 | 
											}
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				MessageM.broadcastMessage("4", false);
 | 
					 | 
				
			||||||
				if (unload) {
 | 
									if (unload) {
 | 
				
			||||||
					MessageM.broadcastMessage("5", false);
 | 
					 | 
				
			||||||
					Bukkit.getScheduler().runTaskLaterAsynchronously(
 | 
										Bukkit.getScheduler().runTaskLaterAsynchronously(
 | 
				
			||||||
							this.plugin, new Runnable() {
 | 
												this.plugin, new Runnable() {
 | 
				
			||||||
								@Override
 | 
													@Override
 | 
				
			||||||
								public void run() {
 | 
													public void run() {
 | 
				
			||||||
									Bukkit.unloadWorld(
 | 
														Bukkit.unloadWorld(
 | 
				
			||||||
											Bukkit.getWorld(worldLoc), false);
 | 
																Bukkit.getWorld(worldLoc), true);
 | 
				
			||||||
									MessageM.sendFMessage(
 | 
														MessageM.sendFMessage(
 | 
				
			||||||
											player,
 | 
																player,
 | 
				
			||||||
											ConfigC.normal_previewWorldUnloaded,
 | 
																ConfigC.normal_previewWorldUnloaded,
 | 
				
			||||||
@@ -65,6 +55,32 @@ public class PlayerListener implements Listener {
 | 
				
			|||||||
								}
 | 
													}
 | 
				
			||||||
							}, 20);
 | 
												}, 20);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
										Bukkit.getScheduler().runTaskLaterAsynchronously(
 | 
				
			||||||
 | 
												this.plugin, new Runnable() {
 | 
				
			||||||
 | 
													@Override
 | 
				
			||||||
 | 
													public void run() {
 | 
				
			||||||
 | 
														try {
 | 
				
			||||||
 | 
															String[] worldPlace = event.getFrom()
 | 
				
			||||||
 | 
																	.getWorld().getName()
 | 
				
			||||||
 | 
																	.split("/");
 | 
				
			||||||
 | 
															String[] worldName = worldPlace[worldPlace.length - 1]
 | 
				
			||||||
 | 
																	.split("_");
 | 
				
			||||||
 | 
															File destFolder = new File("plugins/"
 | 
				
			||||||
 | 
																	+ W.pluginName
 | 
				
			||||||
 | 
																	+ "/defaultArenas/"
 | 
				
			||||||
 | 
																	+ worldName[0]);
 | 
				
			||||||
 | 
															if (destFolder.exists()) {
 | 
				
			||||||
 | 
																FileM.delete(destFolder);
 | 
				
			||||||
 | 
															}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
															FileM.copyFolder(new File(worldLoc),
 | 
				
			||||||
 | 
																	destFolder);
 | 
				
			||||||
 | 
														} catch (IOException e) {
 | 
				
			||||||
 | 
															e.printStackTrace();
 | 
				
			||||||
 | 
														}
 | 
				
			||||||
 | 
													}
 | 
				
			||||||
 | 
												}, 40);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					Bukkit.getScheduler().runTaskLaterAsynchronously(
 | 
										Bukkit.getScheduler().runTaskLaterAsynchronously(
 | 
				
			||||||
							this.plugin, new Runnable() {
 | 
												this.plugin, new Runnable() {
 | 
				
			||||||
								@Override
 | 
													@Override
 | 
				
			||||||
@@ -80,7 +96,7 @@ public class PlayerListener implements Listener {
 | 
				
			|||||||
											true);
 | 
																true);
 | 
				
			||||||
								}
 | 
													}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							}, 40);
 | 
												}, 60);
 | 
				
			||||||
					W.previewWorlds
 | 
										W.previewWorlds
 | 
				
			||||||
							.remove(event.getFrom().getWorld().getName());
 | 
												.remove(event.getFrom().getWorld().getName());
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,7 +24,9 @@ public class FileM {
 | 
				
			|||||||
			for (String file : files) {
 | 
								for (String file : files) {
 | 
				
			||||||
				File srcFile = new File(src, file);
 | 
									File srcFile = new File(src, file);
 | 
				
			||||||
				File destFile = new File(dest, file);
 | 
									File destFile = new File(dest, file);
 | 
				
			||||||
				copyFolder(srcFile, destFile);
 | 
									if (!srcFile.getName().equals("uid.dat")) {
 | 
				
			||||||
 | 
										copyFolder(srcFile, destFile);
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		} else {
 | 
							} else {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user