Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def loadVersion(file: File)(implicit formats: Formats): MinecraftVersion = {
- @tailrec
- def loadVersion0(f: File, inheritance: Option[MinecraftVersion => MinecraftVersion] = None): MinecraftVersion = {
- val result = parse(IO.read(f)).extract[MinecraftVersion]
- if (result.inheritsFrom != null) {
- val parentFile = new File(f.getParentFile, result.inheritsFrom + ".json")
- if (parentFile.exists()) {
- loadVersion0(parentFile, Some(v => inheritance.getOrElse(identity)(result.extendFrom(v))))
- } else {
- null
- }
- } else {
- inheritance.getOrElse(identity)(result)
- }
- }
- loadVersion0(file)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement