|  | package li.cil.oc.server.fs | 
|  |  | 
|  | import dan200.computer.api.IWritableMount | 
|  | import li.cil.oc.api.fs.Mode | 
|  |  | 
|  | class ComputerCraftWritableFileSystem(override val mount: IWritableMount) | 
|  | extends ComputerCraftFileSystem(mount) | 
|  | with OutputStreamFileSystem { | 
|  |  | 
|  | override def delete(path: String) = try { | 
|  | mount.delete(path) | 
|  | true | 
|  | } catch { | 
|  | case _: Throwable => false | 
|  | } | 
|  |  | 
|  | override def makeDirectory(path: String) = try { | 
|  | mount.makeDirectory(path) | 
|  | true | 
|  | } catch { | 
|  | case _: Throwable => false | 
|  | } | 
|  |  | 
|  | override protected def openOutputStream(path: String, mode: Mode) = try { | 
|  | Some(mode match { | 
|  | case Mode.Append => mount.openForAppend(path) | 
|  | case Mode.Write => mount.openForWrite(path) | 
|  | case _ => throw new IllegalArgumentException() | 
|  | }) | 
|  | } catch { | 
|  | case _: Throwable => None | 
|  | } | 
|  | } |