Advertisement
JackOUT

Untitled

Jan 29th, 2022
1,101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.61 KB | None | 0 0
  1. package games.coob.skywars.test;
  2.  
  3. import org.apache.commons.io.FileUtils;
  4. import org.bukkit.Bukkit;
  5. import org.bukkit.World;
  6. import org.bukkit.WorldCreator;
  7.  
  8. import java.io.File;
  9. import java.io.IOException;
  10.  
  11. public class LocalGameMap implements GameMap {
  12.     private final File sourceWorldFolder;
  13.  
  14.     public LocalGameMap(final File worldFolder, final String worldName) {
  15.         this.sourceWorldFolder = new File(worldFolder, worldName);
  16.     }
  17.  
  18.     @Override
  19.     public void load() throws IOException {
  20.         final File worldFolder = new File(sourceWorldFolder.getName());
  21.  
  22.         if (!worldFolder.exists())
  23.             worldFolder.mkdir();
  24.  
  25.  
  26.         try {
  27.             for (final File sourceFile : sourceWorldFolder.listFiles()) {
  28.                 if (sourceFile.isDirectory())
  29.                     FileUtils.copyDirectoryToDirectory(sourceFile, worldFolder); // TODO
  30.                 if (sourceFile.isFile())
  31.                     FileUtils.copyFileToDirectory(sourceFile, worldFolder);
  32.             }
  33.         } catch (final IOException e) {
  34.             Bukkit.getLogger().severe("Failed to load GameMap from source folder");
  35.             e.printStackTrace();
  36.         }
  37.  
  38.         Bukkit.createWorld(new WorldCreator(sourceWorldFolder.getName()));
  39.         Bukkit.getWorld(sourceWorldFolder.getName()).setAutoSave(false);
  40.     }
  41.  
  42.     @Override
  43.     public void unload() throws IOException {
  44.         final World world = Bukkit.getWorld(sourceWorldFolder.getName());
  45.  
  46.         System.out.println(world);
  47.         Bukkit.unloadWorld(world, false);
  48.         //FileUtil.delete(world.getWorldFolder());
  49.         //FileUtils.deleteDirectory(world.getWorldFolder());
  50.         FileUtils.forceDelete(world.getWorldFolder());
  51.     }
  52.  
  53.     @Override
  54.     public void restoreFromSource() throws IOException {
  55.         unload();
  56.         load();
  57.     }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement