Hi, So I was wondering if there is any way to "duplicate" a world. Basically, I'm going to have a defalt world, and it is going to be duplicated, the duped version will be edited and such, then i want to get rid of the duped version, but still keep the original... any way to do this?
Does java have a copy folder function? ill check... i found a snippet that might be helpfull to you Code: package com.mkyong.file; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class CopyDirectoryExample { public static void main(String[] args) { File srcFolder = new File("c:\\mkyong"); File destFolder = new File("c:\\mkyong-new"); //make sure source exists if(!srcFolder.exists()){ System.out.println("Directory does not exist."); //just exit System.exit(0); }else{ try{ copyFolder(srcFolder,destFolder); }catch(IOException e){ e.printStackTrace(); //error, just exit System.exit(0); } } System.out.println("Done"); } public static void copyFolder(File src, File dest) throws IOException{ if(src.isDirectory()){ //if directory not exists, create it if(!dest.exists()){ dest.mkdir(); System.out.println("Directory copied from " + src + " to " + dest); } //list all the directory contents String files[] = src.list(); for (String file : files) { //construct the src and dest file structure File srcFile = new File(src, file); File destFile = new File(dest, file); //recursive copy copyFolder(srcFile,destFile); } }else{ //if file, then copy it //Use bytes stream to support all file types InputStream in = new FileInputStream(src); OutputStream out = new FileOutputStream(dest); byte[] buffer = new byte[1024]; int length; //copy the file content in bytes while ((length = in.read(buffer)) > 0){ out.write(buffer, 0, length); } in.close(); out.close(); System.out.println("File copied from " + src + " to " + dest); } } } EDIT by Moderator: merged posts, please use the edit button instead of double posting.
Hmm, let me do a little modding and see if I can get this to work... will post sometime tomorrow BTW I'm just throwing this out there, java should implement this in the java.io , seems like something basic that is really useful .
The problem is that the UIDs are duplicate. Is there a way to fix this? EDIT: nvm, found a way to fix it. The trick is to delete the world's uid.dat after you created the new world folder, so bukkit will make a new UUID when you load the world.