Modding Help looking for help with the player.config from koala to giraffe

Discussion in 'Starbound Modding' started by Dilrax, Feb 2, 2015.

  1. Dilrax

    Dilrax Ketchup Robot

    *sighs* it never gets any easier... i apologise for the post as i could probably post it somewhere else or there might be an answer somewhere already, that i have yet to find, but most written guides to me seem like they are for other people more advanced and/or have a better understanding of things then i actually do... because i still pretty much know nothing really... happy iv gotten this far with my work at all.

    anyhow i got around to updating starbound to upbeat giraffe so i can update the mod RenTek: Reni's Armory and make sure it works and all for the current stable version, how ever as you might have guessed it didn't work out as expected, from my best guess after discovering i need to place the mod file elsewhere and digging around looking for answers to errors, the player.config has a new layout system or so, from what i can only just understand having found a clue which brings me to this hole 'patch' system thing from xxswatelitexx's guide, i need to change the mods player.config to using this form
    Code:
    [ {"op":"add","path":"/defaultBlueprints/tier1/-","value":{"item":"test"} } ]
    he talks about, but im still confused about setting it all... i mean is it per item?, tier?, line? or what... visual guides work better for me then written guides but as said above even then i may not understand much of what im actually doing...

    so if someone could explain this to me better or more in depth that would be greatly appreciated, iv posted the current mods player.config below because using it as an example would help also for others who like my self still
    don't understand things, though if someone wants to change and update it for me that would also be greatly appreciated.

    Code:
    {
      "__merge": [],
      "defaultBlueprints": {
        "__merge": [
       
        ],
        "tier2": [
                { "item" : "tier0rt" }
                ],
               
        "tier0rt": [   
                { "item" : "tier1rt" },
                { "item" : "Armoryprinter" },
                { "item" : "Armoryprinterwall" },
                { "item" : "RAgallery" },
                { "item" : "Reforgeprinter" },
                { "item" : "partdigiconstructer" },
               
                //Vanity
                { "item" : "avigogglesdownnorm" },
                { "item" : "avigogglesdownspec" },
                { "item" : "avigogglesupnorm" },
                { "item" : "avigogglesupspec" },
                { "item" : "Explohelm" },
               
                //Gallery
                { "item" : "atlascannon" },
                { "item" : "atlascannon2" },
                { "item" : "kazcremator" },
                { "item" : "kazlauncher" },
                { "item" : "kazlaunchernapalm" },
                { "item" : "kazlauncherwildfire" },
                { "item" : "novagaussrifle" },
                { "item" : "novagaussrifle2" },
                { "item" : "novagl" },
                { "item" : "novaglcannon" },
                { "item" : "novaglvortex" },
                { "item" : "pulsarpion" },
                { "item" : "pulsarwavecannon" },
                { "item" : "pulsarwaverifle" },
                { "item" : "razorshotgun" },
                { "item" : "razorshotgunenergy" },
                { "item" : "rtflashcannon" },
                { "item" : "rthypercannon" },
                { "item" : "rthypersaw" },
                { "item" : "rtioncannon" },
                { "item" : "rtvulcan" },
                { "item" : "rtvulcan2" },
                { "item" : "rtvulcant2" },
               
                //gunparts
                //atlas Cannons
                { "item" : "advancedcore" },
                { "item" : "containshell" },
                { "item" : "atlasvent" },
                { "item" : "atlasmount" },
                { "item" : "atlasframe" },
                { "item" : "abarrelframe" },
                { "item" : "atlasbarrel" },
               
                //kaz Cremator
                { "item" : "crematorpipe" },
                { "item" : "crematorgauge" },
                { "item" : "crematorframe" },
                { "item" : "crematorcore" },
                { "item" : "crematorcanister" },
                { "item" : "crematorbarrel" },
               
                //kaz Launchers
                { "item" : "draftvent" },
                { "item" : "wildfirepod" },
                { "item" : "systemmodual" },
                { "item" : "synthesismodual" },
                { "item" : "recoilgrip" },
                { "item" : "napalmpod" },
                { "item" : "missilepod" },
                { "item" : "largedraftvent" },
           
                //Nova Grenadelaunchers
                { "item" : "novastock" },
                { "item" : "novapack" },
                { "item" : "novabarrel" },
                { "item" : "ionsight" },
                { "item" : "grenadeclip" },
                { "item" : "cable" },
                { "item" : "acstabilizer" },
                { "item" : "cannonstock" },
                { "item" : "cannonbarrel" },
                { "item" : "vortexbarrel" },
                { "item" : "vortexframe" },
                { "item" : "stableframe" },
               
                //Nova Gaussrifles
                { "item" : "shellclip" },
                { "item" : "propulsionmodual" },
                { "item" : "modifiedgaussframe" },
                { "item" : "modifiedgaussbarrel" },
                { "item" : "modifiedacunit" },
                { "item" : "gaussstock" },
                { "item" : "gaussbarrel" },
                { "item" : "acunit" },
                { "item" : "acring" },
               
                //pulsar
                { "item" : "wriflestock" },
                { "item" : "wrifleframe" },
                { "item" : "wriflebarrel" },
                { "item" : "relaywire" },
                { "item" : "pulsewire" },
                { "item" : "projectorcannon" },
                { "item" : "conversioncore" },
                { "item" : "pionstock" },
                { "item" : "piongrip" },
                { "item" : "pionbarrel" },
               
                //Razor Shotguns
                { "item" : "rstock" },
                { "item" : "rbarrel" },
                { "item" : "razorframe" },
                { "item" : "kineticunit" },
                { "item" : "kineticdampen" },
                { "item" : "jellgrip" },
               
                //RenTek Flashcannon
                { "item" : "testlacoil" },
                { "item" : "hyperacdrive" },
                { "item" : "fcannonframe" },
                { "item" : "chargepack" },
                { "item" : "auxcore" },
               
                //RenTek Hyper Cannon
                { "item" : "acrelaycoils" },
                { "item" : "shouldermount" },
                { "item" : "productionchamber" },
                { "item" : "operationhandle" },
                { "item" : "hyperbarrel" },
                { "item" : "compressiondrive" },
                { "item" : "capacitormodual" },
               
                //RenTek Hypersaw
                { "item" : "bladedigicon" },
                { "item" : "bladestock" },
                { "item" : "compactcore" },
                { "item" : "particalgenerator" },
               
                //RenTek Vulcan
                { "item" : "vulcanstock" },
                { "item" : "generationcore" },
                { "item" : "lasersight" },
                { "item" : "rotorybarrel" },
                { "item" : "rotorymotor" },
                { "item" : "type2ac" },
                { "item" : "type2barrel" },
                { "item" : "type2frame" },
                { "item" : "vulcanbody" },
               
                //Universal parts
                { "item" : "uvammopack" },
                { "item" : "uvelectronsynth" },
                { "item" : "uvkineticprojector" },
                { "item" : "uvmetalplate" },
                { "item" : "uvnanimaxcore" },
                { "item" : "uvplasmacharge" },
                { "item" : "uvrecoilstabilizer" },
                { "item" : "uvstabilizationven" },
                { "item" : "uvuniversalstock" },
                { "item" : "uvunstablecore" },
                { "item" : "uvventunit" }
                ],
               
        "tier1rt": [   
                { "item" : "tier2rt" },
                { "item" : "pion" },
                { "item" : "Vulcan" },
                { "item" : "Hypersaw" }
                ],
               
        "tier2rt": [   
                { "item" : "tier3rt" },
                { "item" : "Razor" },
                { "item" : "VulcanU" },
                { "item" : "Pulser" }
                ],
               
        "tier3rt": [   
                { "item" : "tier4rt" },
                { "item" : "RazorB" },
                { "item" : "Atlas" },
                { "item" : "Nova" }
                ],
               
        "tier4rt": [   
                { "item" : "tier5rt" },
                { "item" : "RocketL" },
                { "item" : "VulcanT2" },
                { "item" : "Pulserwave" },
                { "item" : "NovaC" }
                ],
               
        "tier5rt": [   
                { "item" : "tier6rt" },
                { "item" : "Vortex" },
                { "item" : "napalmrocketpod" },
                { "item" : "AtlasPC" }
                ],
               
        "tier6rt": [   
                { "item" : "tier7rt" },
                { "item" : "gaussrifle" },
                { "item" : "cremator" },
                { "item" : "crematorcannon" },
                { "item" : "Flashcannon" }
                ],
               
        "tier7rt": [   
                { "item" : "tier8rt" },
                { "item" : "Hypercannon" },
                { "item" : "Wildfire" },
                { "item" : "gaussrifleac" }
                ],
               
        "tier8rt": [   
                { "item" : "Ioncannon" }
                ]
    }
    }

     
  2. Code:
    [
        {"op":"add","path":"/defaultBlueprints/tier2/-","value":{ "item" : "tier0rt" } },
       
        {"op":"add","path":"/defaultBlueprints/tier0rt/-","value":{ "item" : "tier1rt" } },
        {"op":"add","path":"/defaultBlueprints/tier0rt/-","value":{ "item" : "Armoryprinter" } },
        {"op":"add","path":"/defaultBlueprints/tier0rt/-","value":{ "item" : "Armoryprinterwall" } },
        {"op":"add","path":"/defaultBlueprints/tier0rt/-","value":{ "item" : "RAgallery" } },
        {"op":"add","path":"/defaultBlueprints/tier0rt/-","value":{ "item" : "Reforgeprinter" } },
        {"op":"add","path":"/defaultBlueprints/tier0rt/-","value":{ "item" : "partdigiconstructer" } },
       
       
        {"op":"add","path":"/defaultBlueprints/tier0rt/-","value":{ "item" : "avigogglesdownnorm" } },
        {"op":"add","path":"/defaultBlueprints/tier0rt/-","value":{ "item" : "avigogglesdownspec" } },
        {"op":"add","path":"/defaultBlueprints/tier0rt/-","value":{ "item" : "avigogglesupnorm" } },
        {"op":"add","path":"/defaultBlueprints/tier0rt/-","value":{ "item" : "avigogglesupspec" } },
        {"op":"add","path":"/defaultBlueprints/tier0rt/-","value":{ "item" : "Explohelm" } },
       
        {"op":"add","path":"/defaultBlueprints/tier0rt/-","value":{ "item" : "atlascannon" } },
        {"op":"add","path":"/defaultBlueprints/tier0rt/-","value":{ "item" : "atlascannon2" } },
                                                       
        ........
       
        And so on and so forth....
       
        .....
    
        {"op":"add","path":"/defaultBlueprints/tier8rt/-","value":{ "item" : "Ioncannon" } },
    ]
     
  3. The | Suit

    The | Suit Agent S. Forum Moderator

    The only thing you need to remember is
    Batch add only works for non existing arrays.
    If the array already exists it is per item added \ modified.

    If you attempt to more than one - it will do overwrite. Overwrrite using add is not supported and will result in a crash even though JSON patcher says it would be valid.
     
  4. Dilrax

    Dilrax Ketchup Robot

    always as helpful as ever, ^^

    so... array refers to the item tiers? such as listing them under that tier, if i understand that correctly...
     
  5. The | Suit

    The | Suit Agent S. Forum Moderator

    Umm..... its really hard to explain.
    If something exists inside the brackets already do it one at a time.
    If you are creating something with completely new brackets which are empty - then add as much as you want.

    But yes - Tier1/ would be an example of an array with information inside.
     
  6. Dilrax

    Dilrax Ketchup Robot

    i wouldn't blame you if it is hard to explain... this all just keeps blowing my mind every time i think i figure something out only to find a new error... x-x
    rewritten the player.config about 6 times now finally with some success of it working hahahaha
    previous one was...
    Code:
    [20:20:13.874] Error: Could not load /player.config asset, using default.
    (AssetException) Could not read variant asset /player.config
    Caused by: (JsonParsingException) Cannot parse json file: /player.config
    Caused by: (VariantPatchException) Could not apply patch to base. Could not apply operation to base. No such key in Variant::get("tier2")
    which turns out all i had to do was remove the " - " after the " tier2/ " from this
    Code:
    {"op":"add","path":"/defaultBlueprints/tier2/","value":{ "item" : "tier0rt" } },
    EDIT: only to find that for some reason it doesn't like one of the tier cards for the 7th item tier, which is technically the 8th card, starting from 0, at least it seems to accept the array things... for now at least, so i think i have a bit of an idea on roughly the basis of how they work... i think, ether way looks like i got my work cut out for me again thus its going to be a long night for me, hahaha
     
    Last edited: Feb 2, 2015
  7. The | Suit

    The | Suit Agent S. Forum Moderator

    ya you only use the /- if you are adding to an existing array.
    But once you get the hang of it - its really easy.
     
  8. Dilrax

    Dilrax Ketchup Robot

    easy until the system changes again hahaha, while your here, tier cards like the previous ones, they not being used or anything now or what? cant seem to find them in the upbeat giraffe unpacked files, so im kinda wondering on how the tiers or arrays which ever you prefer work... previously, you just created the tier card as an item, which could be modified and the tier's item list looked like as shown below compared to now, also shown below, but if it use's the new array thing, does the tiers all work the same or some other way...?

    Code:
        
        "tier1rt": [   
                { "item" : "tier2rt" },
                { "item" : "pion" },
                { "item" : "Vulcan" },
                { "item" : "Hypersaw" }
                ],
    
    --------------------------------------------------------------------------------------
    
    {"op":"add","path":"/defaultBlueprints/tier1rt", "value": [       
                { "item" : "tier2rt" },
                { "item" : "pion" },
                { "item" : "Vulcan" },
                { "item" : "Hypersaw" }
                ]
                },
     
  9. The | Suit

    The | Suit Agent S. Forum Moderator

    Ya you can find an example of tier unlocks in the 3D printer


    Code:
    unpacked/items/generic/unlock/portable3Dprinter.unlock
    You can also use learnBluePrintsonPIckup
    or blueprints.
     
    RatixFarrence likes this.

Share This Page