Update of Preview command.
Now saves the world!
This commit is contained in:
parent
74be1f106e
commit
a8b407b258
@ -25,39 +25,29 @@ public class PlayerListener implements Listener {
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
public void onPlayerTeleportEvent(PlayerTeleportEvent event) {
|
||||
public void onPlayerTeleportEvent(final PlayerTeleportEvent event) {
|
||||
final Player player = event.getPlayer();
|
||||
MessageM.broadcastMessage("-2", false);
|
||||
if (W.previewWorlds.contains(event.getFrom().getWorld().getName())) {
|
||||
MessageM.broadcastMessage("-1", false);
|
||||
if (!event.getFrom().getWorld().getName()
|
||||
.equals(event.getTo().getWorld().getName())) {
|
||||
MessageM.broadcastMessage("0", false);
|
||||
final String worldLoc = event.getFrom().getWorld().getName();
|
||||
boolean unload = true;
|
||||
|
||||
for (Player pl : Bukkit.getOnlinePlayers()) {
|
||||
MessageM.broadcastMessage("1", false);
|
||||
if (pl.getLocation().getWorld().getName().equals(worldLoc)) {
|
||||
MessageM.broadcastMessage("2", false);
|
||||
if (!pl.equals(player)) {
|
||||
MessageM.broadcastMessage("3a", false);
|
||||
unload = false;
|
||||
} else {
|
||||
MessageM.broadcastMessage("3b", false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MessageM.broadcastMessage("4", false);
|
||||
if (unload) {
|
||||
MessageM.broadcastMessage("5", false);
|
||||
Bukkit.getScheduler().runTaskLaterAsynchronously(
|
||||
this.plugin, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Bukkit.unloadWorld(
|
||||
Bukkit.getWorld(worldLoc), false);
|
||||
Bukkit.getWorld(worldLoc), true);
|
||||
MessageM.sendFMessage(
|
||||
player,
|
||||
ConfigC.normal_previewWorldUnloaded,
|
||||
@ -65,6 +55,32 @@ public class PlayerListener implements Listener {
|
||||
}
|
||||
}, 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(
|
||||
this.plugin, new Runnable() {
|
||||
@Override
|
||||
@ -80,7 +96,7 @@ public class PlayerListener implements Listener {
|
||||
true);
|
||||
}
|
||||
|
||||
}, 40);
|
||||
}, 60);
|
||||
W.previewWorlds
|
||||
.remove(event.getFrom().getWorld().getName());
|
||||
}
|
||||
|
@ -24,7 +24,9 @@ public class FileM {
|
||||
for (String file : files) {
|
||||
File srcFile = new File(src, file);
|
||||
File destFile = new File(dest, file);
|
||||
copyFolder(srcFile, destFile);
|
||||
if (!srcFile.getName().equals("uid.dat")) {
|
||||
copyFolder(srcFile, destFile);
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
|
Loading…
x
Reference in New Issue
Block a user