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)
|
@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,8 +24,10 @@ 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);
|
||||||
|
if (!srcFile.getName().equals("uid.dat")) {
|
||||||
copyFolder(srcFile, destFile);
|
copyFolder(srcFile, destFile);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
InputStream in = new FileInputStream(src);
|
InputStream in = new FileInputStream(src);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user