Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package util
- import com.fasterxml.jackson.databind.DeserializationFeature
- import com.fasterxml.jackson.module.kotlin.*
- import java.io.File
- data class SkillTreeData( val characterData: Map<String, CharacterData>, val groups: Map<String, Group>, val root: Root,
- val nodes: List<Node>, val extraImages: Map<String, ExtraImage>, val min_x: Double,
- val min_y: Double, val max_x: Double, val max_y: Double,
- val assets: Map<String, Map<String, String>>, val constants: Constants, val imageRoot: String,
- val skillSprites: SkillSprites, val imageZoomLevels: List<Int> )
- data class CharacterData( val base_str: Int, val base_dex: Int, val base_int: Int )
- data class Group( val x: Double, val y: Double, val oo: Map<String, Boolean>?, val n: List<Int> )
- data class Root( val g: Int, val o: Int, val oidx: Int, val sa: Int, val da: Int, val ia: Int, val out: List<Int> )
- data class Node( val id: Int, val icon: String, val ks: Boolean, val not: Boolean, val dn: String, val m: Boolean,
- val isJewelSocket: Boolean, val isMultipleChoice: Boolean, val isMultipleChoiceOption: Boolean,
- val passivePointsGranted: Int, val flavourText: List<String>?, val ascendancyName: String?,
- val isAscendancyStart: Boolean?, val reminderText: List<String>?, val spc: List<Int>, val sd: List<String>,
- val g: Int, val o: Int, val oidx: Int, val sa: Int, val da: Int, val ia: Int, val out: List<Int> )
- data class ExtraImage( val x: Double, val y: Double, val image: String )
- data class Constants( val classes: Map<String, Int>, val characterAttributes: Map<String, Int>,
- val PSSCentreInnerRadius: Int )
- data class SubSpriteCoords( val x: Int, val y: Int, val w: Int, val h: Int )
- data class Sprite( val filename: String, val coords: Map<String, SubSpriteCoords> )
- data class SkillSprites( val normalActive: List<Sprite>, val notableActive: List<Sprite>,
- val keystoneActive: List<Sprite>, val normalInactive: List<Sprite>,
- val notableInactive: List<Sprite>, val keystoneInactive: List<Sprite>,
- val mastery: List<Sprite> )
- private fun convert( jsonFile: File ) {
- val mapper = jacksonObjectMapper()
- mapper.configure( DeserializationFeature.ACCEPT_EMPTY_ARRAY_AS_NULL_OBJECT, true )
- val skillTreeData = mapper.readValue<SkillTreeData>( jsonFile )
- println("Conversion finished !")
- }
- fun main( args : Array<String> ) {
- val jsonFile: File = File( """rawSkilltree.json""" )
- convert( jsonFile )
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement