public boolean loadWorld(File file) {
		if(!file.exists()) {
			this.updater.log("World level not found, creating a new one");
			this.generate();
			return false;
		}
		try {
			DataInputStream in = new DataInputStream(new FileInputStream(file));
			this.resize(in.readShort(), in.readShort(), in.readShort());
			in.readFully(this.block_array);
			in.close();
			for(int k=0;k!=this.updater.classic_sockets.size();k++) {
				if(k>=this.updater.classic_sockets.size()) {
					break;
				}
				try {
					this.updater.classic_sockets.get(k).sendMapStartPacket();
					this.updater.classic_sockets.get(k).sendMap(this.block_array);
					this.updater.classic_sockets.get(k).sendMapFinishedPacket(this.x_size, this.y_size, this.z_size);
				} catch (Exception e) {
					this.updater.log(""+e.getMessage(),true);
				}
			}
			return true;
		} catch(Exception e) {
			this.updater.log(""+e.getMessage(),true);
			return false;
		}
	}