Advertisement
PaleoCrafter

Untitled

Mar 10th, 2017
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.65 KB | None | 0 0
  1. def loadVersion(file: File)(implicit formats: Formats): MinecraftVersion = {
  2.   @tailrec
  3.   def loadVersion0(f: File, inheritance: Option[MinecraftVersion => MinecraftVersion] = None): MinecraftVersion = {
  4.     val result = parse(IO.read(f)).extract[MinecraftVersion]
  5.  
  6.     if (result.inheritsFrom != null) {
  7.       val parentFile = new File(f.getParentFile, result.inheritsFrom + ".json")
  8.       if (parentFile.exists()) {
  9.         loadVersion0(parentFile, Some(v => inheritance.getOrElse(identity)(result.extendFrom(v))))
  10.       } else {
  11.         null
  12.       }
  13.     } else {
  14.       inheritance.getOrElse(identity)(result)
  15.     }
  16.   }
  17.  
  18.   loadVersion0(file)
  19. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement