Modding Help problems with __merge

Discussion in 'Starbound Modding' started by eksynn, Sep 17, 2014.

  1. eksynn

    eksynn Giant Laser Beams

    [resolved]

    hello everyone, i'm a little issue with a mod i'm trying to use... the "matter manipulator plus".
    i think it has something to do with the player.config file but i'm not sure (see below for its contents)...

    i'll paste below the contents of both the config file and the log file..

    the log file

    Code:
    Info: Preparing Star::Root...
    Info: Loading Star::Configuration from '..\starbound.config'
    Info: Done preparing Star::Root.
    Info: Client version 'Beta v. Enraged Koala - Update 8' Protocol: 643
    Info: Running from : C:\Program Files (x86)\Steam\SteamApps\common\Starbound\win32\starbound.exe
    Info: Starting from the title screen
    Info: Initialized SDL
    Info: Initialized SDL Video
    Info: Initialized SDL Joystick
    Info: Initialized SDL Sound
    Info: Opened default audio device with 44khz / 16 bit stereo audio, 2048 sample size buffer
    Info: Loading Star::Root...
    Info: Initializing SDL Window
    Info: Loading Star::Configuration from '..\starbound.config'
    Info: Created initial window 1000x600
    Info: Initializing SDL Window
    Info: Re-created window 1280x908
    Info: Writing Star::Configuration to '..\starbound.config'
    Error: Exception raised during Root finishInitialization: VariantException: Variant list not of size 10 in variantToArrayF
      Humanoid::HumanoidTiming::HumanoidTiming(Variant)
      PlayerConfig::PlayerConfig(Map<String, Variant, unordered_map<String, Variant, hash<String, void>, equal_to<String>, allocator<pair<String, Variant> > > >)
      PlayerFactory::load()
      Root::reload()
      _Function_handler<void (), _Bind<ClientApplication::preSplashInitialization()::{lambda()#1} ()> >::(_Any_data)
      ThreadImpl::runThread(void*)
      BaseThreadInitThunk
      RtlInitializeExceptionChain
      RtlInitializeExceptionChain
    
    Info: Shutting down Star::Root
    Error: StarException: An error occurred during loading: VariantException: Variant list not of size 10 in variantToArrayF
      Humanoid::HumanoidTiming::HumanoidTiming(Variant)
      PlayerConfig::PlayerConfig(Map<String, Variant, unordered_map<String, Variant, hash<String, void>, equal_to<String>, allocator<pair<String, Variant> > > >)
      PlayerFactory::load()
      Root::reload()
      _Function_handler<void (), _Bind<ClientApplication::preSplashInitialization()::{lambda()#1} ()> >::(_Any_data)
      ThreadImpl::runThread(void*)
      BaseThreadInitThunk
      RtlInitializeExceptionChain
      RtlInitializeExceptionChain
    
      ClientApplication::postSplashInitialization()
      ClientApplication::update()
      StarApplicationBase::run()
      _SDL_main
      _console_main
    


    the player.config file

    Code:
    {
      "__merge" : [],
      "defaultHumanoidIdentity" : {
        "gender" : "Male",
        "hairType" : "male2",
        "color" : [51, 117, 237, 255]
      },
    
      "species" : [ "human", "glitch", "hylotl", "apex", "avian", "floran" ],
    
      "humanoidTiming" : {
        // Idle, Walk, Run, Jump, Fall, Swim, SwimIdle, Duck, Sit, Lay
        "stateCycle" : [1.0, 0.75, 0.75, 0.25, 0.25, 0.50, 0.50, 1.0, 1.0, 1.0],
        "stateFrames" : [1, 8, 8, 4, 4, 7, 2, 1, 1, 1],
    
        // EmoteIdle, Blabbering, Shouting, Happy, Sad, NEUTRAL, Laugh, Annoyed, Oh, OOOH, Blink, Wink Eat Sleep
        //          , normal    , caps    , :)   , :'(, :|     , :D   ,        , :o, :O  ,      , ;)
        "emoteCycle" : [1.0, 0.3, 0.3, 0.3, 1.0, 0.3, 0.5, 1.0, 1.0, 1.0, 1.0, 0.5, 0.3, 1.0],
        "emoteFrames" : [1, 2, 2, 2, 5, 2, 2, 2, 2, 3, 3, 5, 2, 2]
      },
    
      "defaultItems" : [],
    
      "tierBlueprintsUnlockedMessage" : "New blueprints have been unlocked.",
      "blueprintOnPickupMessage" : "New blueprint available.",
      "defaultBlueprints" : {
        "tier1" : [
          { "item" : "stonebeamaxe" },
          { "item" : "mininglantern" },
          { "item" : "copperarmorhead" },
          { "item" : "copperarmorchest" },
          { "item" : "copperarmorpants" },
          { "item" : "darkwoodmaterial" },
          { "item" : "yarnspinner" },
          { "item" : "campfire" },
          { "item" : "platform" },
          { "item" : "torch" },
          { "item" : "woodencraftingtable1" },
          { "item" : "fence" },
          { "item" : "stoneaxe" },
          { "item" : "stonehoe" },
          { "item" : "stonepickaxe" },
          { "item" : "woodenbed" },
          { "item" : "woodenchair" },
          { "item" : "woodencrate1" },
          { "item" : "woodencrate2" },
          { "item" : "woodendoor" },
          { "item" : "woodengate" },
          { "item" : "woodsupport" },
          { "item" : "woodtable" },
          { "item" : "woodenstonefurnacetable" },
          { "item" : "tier1chair" },
          { "item" : "tier1door" },
          { "item" : "tier1light" },
          { "item" : "tier1switch" },
          { "item" : "tier1bed" },
          { "item" : "ironanvil" },
          { "item" : "ironblock" },
          { "item" : "cobblestonebrick" },
          { "item" : "ironbeacon" },
          { "item" : "copperpickaxe" },
          { "item" : "silverpickaxe" },
          { "item" : "goldpickaxe" },
          { "item" : "platinumpickaxe" },
          { "item" : "diamondpickaxe" },
          { "item" : "stonefurnace" },
          { "item" : "glassmaterial" },
          { "item" : "woodenwindow1" },
          { "item" : "woodenwindow2" },
          { "item" : "woodencookingtable" },
          { "item" : "fabric" },
          { "item" : "packeddirt" },
          { "item" : "metalworkstation" },
          { "item" : "reddye" },
          { "item" : "bluedye" },
          { "item" : "yellowdye" },
          { "item" : "tier2engine" },
          { "item" : "bow" },
          { "item" : "ironbow" },
          { "item" : "bandage" },
          { "item" : "snowinfantryhead" },
          { "item" : "snowinfantrychest" },
          { "item" : "snowinfantrypants" },
          { "item" : "huntingknife" },
          { "item" : "climbingrope" },
          { "item" : "generatedshield", "count" : 1, "data" : { "definition" : "startershield", "level" : 1 } }
        ],
        "tier2" : [
          { "item" : "silverarmorhead" },
          { "item" : "silverarmorchest" },
          { "item" : "silverarmorpants" },
          { "item" : "steelbar" },
          { "item" : "mediummetal" },
          { "item" : "chain" },
          { "item" : "roboticcraftingtable" },
          { "item" : "refinery" },
          { "item" : "steelbow" },
          { "item" : "tier2chair" },
          { "item" : "tier2door" },
          { "item" : "tier2light" },
          { "item" : "tier2switch" },
          { "item" : "tier2bed" },
          { "item" : "brainextractor" },
          { "item" : "artificialbrain" },
          { "item" : "robothead" },
          { "item" : "robotchest" },
          { "item" : "robotlegs" },
          { "item" : "robotarms" },
          { "item" : "tier3engine" },
          { "item" : "spawnerguard" },    
          { "item" : "robot" },
          { "item" : "voxel1k" },
          { "item" : "voxel2k" },
          { "item" : "voxel5k" },
          { "item" : "voxel10k" },
          { "item" : "pixelcompressor" },
          { "item" : "lanternstickback" },
          { "item" : "portable3dprinter" }
        ],
        "tier3" : [
          { "item" : "goldarmorhead" },
          { "item" : "goldarmorchest" },
          { "item" : "goldarmorpants" },
          { "item" : "composite01material" },
          { "item" : "painttool" },
          { "item" : "wiretool" },
          { "item" : "tier3chair" },
          { "item" : "tier3door" },
          { "item" : "tier3light" },
          { "item" : "tier3switch" },
          { "item" : "tier3bed" },
          { "item" : "decoyprincess" },
          { "item" : "tier4engine" }
        ],
        "tier4" : [
          { "item" : "bonusarmorhead" },
          { "item" : "bonusarmorchest" },
          { "item" : "bonusarmorpants" },
          { "item" : "durasteelbar" },
          { "item" : "tier4chair" },
          { "item" : "tier4door" },
          { "item" : "tier4light" },
          { "item" : "tier4switch" },
          { "item" : "tier4bed" },
          { "item" : "techupgrade32" },
          { "item" : "capturepod" },
          { "item" : "capturestation" },
          { "item" : "copperdrill" },
          { "item" : "silverdrill" },
          { "item" : "golddrill" },
          { "item" : "platinumdrill" },
          { "item" : "diamonddrill" },
          { "item" : "grapplinghook" },
          { "item" : "peanutbutter" }
        ],
        "level32" : [
          { "item" : "platinumarmorhead" },
          { "item" : "platinumarmorchest" },
          { "item" : "platinumarmorpants" },
          { "item" : "tier5chair" },
          { "item" : "tier5door" },
          { "item" : "tier5light" },
          { "item" : "tier5switch" },
          { "item" : "tier5bed" },
          { "item" : "techupgrade33" }
        ],
        "level33" : [
          { "item" : "Feroziumbar" },
          { "item" : "tier6chair" },
          { "item" : "tier6door" },
          { "item" : "tier6light" },
          { "item" : "tier6switch" },
          { "item" : "tier6bed" },
          { "item" : "techupgrade34" }
        ],
        "level34" : [
          { "item" : "tier7chair" },
          { "item" : "tier7door" },
          { "item" : "tier7light" },
          { "item" : "tier7switch" },
          { "item" : "tier7bed" },
          { "item" : "techupgrade35" }
        ],
        "level35" : [
          { "item" : "Violiumbar" },
          { "item" : "tier8chair" },
          { "item" : "tier8door" },
          { "item" : "tier8light" },
          { "item" : "tier8switch" },
          { "item" : "tier8bed" },
          { "item" : "techupgrade36" }
        ],
        "level36" : [
          { "item" : "tier9chair" },
          { "item" : "tier9door" },
          { "item" : "tier9light" },
          { "item" : "tier9switch" },
          { "item" : "tier9bed" },
          { "item" : "techupgrade37" }
        ],
        "level37" : [
          { "item" : "imperviumbar" },
          { "item" : "tier10chair" },
          { "item" : "tier10door" },
          { "item" : "tier10light" },
          { "item" : "tier10switch" },
          { "item" : "tier10bed" }
        ],
        "portable3dprinter" : [
          { "item" : "futurelight" },
          { "item" : "modernplatform" },
          { "item" : "modernchair" },
          { "item" : "moderntable" },
          { "item" : "slidingdoor" },
          { "item" : "techhull1" },
          { "item" : "metallicmaterial" },
          { "item" : "apexshipwall" },
          { "item" : "lightmetal" },
          { "item" : "mediummetal" },
          { "item" : "platematerial" },
          { "item" : "redtoyblock" },
          { "item" : "smoothmetal" },
          { "item" : "nanowrap" },
          { "item" : "nanostove" }
        ]
      },
    
      "visibleRect" : [-1.0, -2.5, 1.0, 1.75],
    
      "techControllerSettings" : {
        "baseMovementParameters" : {
          "standingPoly" : [ [-0.75, -2.0], [-0.35, -2.5], [0.35, -2.5], [0.75, -2.0], [0.75, 0.65], [0.35, 1.22], [-0.35, 1.22], [-0.75, 0.65] ],
          "crouchingPoly" : [ [-0.75, -2.0], [-0.35, -2.5], [0.35, -2.5], [0.75, -2.0], [0.75, -1], [0.35, -0.5], [-0.35, -0.5], [-0.75, -1] ],
          "airFriction" : 0.2,
          "mass" : 0.6,
    
          // should keep the player from teleporting through walls
          "maximumCorrection" : 1,
          "maxMovementPerStep" : 0.4
        }
      },
    
      "maxHealth" : 100.0,
      "maxEnergy" : 100.0,
      "maxFood" : 100.0,
      "maxBreath" : 100.0,
    
      "energyReplenishmentRate" : 10.0,
      "foodDepletionRate" : 0.0425,
    
      "breathReplenishmentRate" : 20,
      "breathDepletionRate" : 2,
    
      "lightStrength" : 1.0,
    
      "footstepTiming" : 0.35,
      "footstepSensor" : [0, -3.1],
    
      "fallDamageFactor" : 0.8,
      "minimumFallTime" : 1.0,
      "maxFallTimeFactor" : 1.5,
      "minimumFallSpeed" : -2.0,
    
      "vaporTrailTime" : 10,
      "terminalVelocityDifference" : 1.01,
      "bottomOfWorldTouchMargin" : 4,
    
      "interactRadius" : 5.5,
      "walkIntoInteractBias" : [1, 0],
    
      "initialBeamGunRadius" : 15.5,
      "previewGlowBorder" : 2,
      "objectPreviewInnerAlpha" : 0.8,
      "objectPreviewOuterAlpha" : 0.2,
    
      "beamGunSettings" : {
        "image" : "/humanoid/any/gravgun1.png",
        "endImages" : [ "/humanoid/any/ball.png", "/humanoid/any/tileglow.png", "/humanoid/any/4tileglow.png" ],
        "handPosition" : [-2, 0],
        "firePosition" : [5, 0],
        "segmentsPerUnit" : 1,
        "nearControlPointElasticity" : 0.1,
        "farControlPointElasticity" : 0.9,
        "nearControlPointDistance" : 0.9,
        "targetSegmentRun" : 1,
        "innerBrightnessScale" : 20,
        "firstStripeThickness" : 0.2,
        "secondStripeThickness" : 0.05,
        "minBeamWidth" : 1,
        "maxBeamWidth" : 5,
        "maxBeamJitter" : 0.06,
        "minBeamJitter" : 0.0,
        "minBeamTrans" : 0.1,
        "maxBeamTrans" : 0.4,
        "minBeamLines" : 1,
        "maxBeamLines" : 5
      },
    
      "underwaterSensor" : [0.0, 0.5],
      "underwaterMinWaterLevel" : 0.4,
    
      "splashConfig" : {
        "splashSpeedMin" : 10.0,
        "splashMinWaterLevel" : 0.4,
        "splashBottomSensor" : [0, -2.0],
        "splashTopSensor" : [0, 2.0],
        "numSplashParticles" : 8,
        "splashYVelocityFactor" : 0.2,
    
        "splashParticle" : {
          "type" : "ember",
          "position" : [0, -1],
          "finalVelocity" : [0, -20],
          "approach" : [0, 50],
          "color" : [60, 150, 224, 100],
          "size" : 1.0,
          "timeToLive" : 0.5,
          "destructionAction" : "shrink",
          "destructionTime" : 0.2
        },
    
        "splashParticleVariance" : {
          "velocity" : [10, 0],
          "size" : 2.0
        }
      },
    
      "teleportInTime" : 1.0,
      "teleportInBase" : "/humanoid/any/playerwarpin.png",
      "teleportInBeam" : "/humanoid/any/playerwarpinbeam.png",
      "teleportInFrames" : 16,
    
      "teleportOutTime" : 0.75,
      "teleportOutBase" : "/humanoid/any/playerwarpout.png",
      "teleportOutBeam" : "/humanoid/any/playerwarpoutbeam.png",
      "teleportOutFrames" : 12,
    
      "teleportHeight" : 43.0,
      "teleportBeamHeight" : 8,
      "teleportTallness" : 30,
    
      // 50mins @ 5C = 15000sec/1C
      "warmthTransferRate" : 1000.0,
      "warmthTransferRateCap" : 1000.0,
      "comfortRegen" : 2.0,
      "bodyTemperatureRangeLow" : [5, 99999],
      "windChillFactor" : 10,
      "idealTemperature" : 25,
    
      "maxOverlayPercent" : 0.8,
      "freezeOverlayColor" : [175, 175, 255],
    
      "nametagOpacityRate" : 0.01,
      "nametagOffset" : [0, 2],
      "nametagColor" : "white",
      "nametagFontSize" : 7,
      "nametagOpacityBoost" : 3,
    
      "emoteCooldown" : 2,
      "blinkInterval" : [5, 30],
    
      "damageConfig" : "/damage/damageresponse/default.config",
      "bodyMaterialKind" : "organic",
    
      "reviveCost" : {
        "absolute" : 1,
        "percentile" : 30.0
      }
    }
    
    


    i should also note, there are quite a few other mod that edit player.config.
    note, the MM+ mod did NOT have a __merge thing anywhere, so the only one you see there i added. did i put it in the wrong place?

    thanks in advance if anyone decides to help x.x game crashes are getting annoying lol

    edit: for some reason this post kind of broke.. fixed it tho >.< sorry for the confusion

    for those with similar issues, the solution is, all you need in the player.config file is this:

    Code:
    {
      "__merge" : [], 
      "defaultBlueprints" :
      {
        "tier1" :
        [
          { "item" : "stonebeamaxe" }
        ]
      }
    }
    [code/]
    
    thanks to everyone who helped me!
     
    Last edited: Sep 17, 2014
  2. The | Suit

    The | Suit Agent S. Forum Moderator

    Most important question.
    Are you using Nightly or Stable.

    If the answer is nightly - we stopped using __merge almost a month ago. We use the Patch system.
    http://playstarbound.com/august-19-the-day-when-all-your-mods-died/

    If you are using stable
    There are tons of problems, but to start off you only merge parts of the player config which edits. Don't copy and paste the entire player.config that isn't how merge works.
    One of those issues is you have to overwrite anything in square brackets.

    Anyway long story short - only merge what changes. Or read up bartwerfs merge guide.
     
  3. eksynn

    eksynn Giant Laser Beams

    i'm using stable. i have a few mods i "can't do without" on enraged koala xD
    i wonder if they would still work.
    do you know?
    or would "all my mods die" if i started using nightly?
    how would the Patch system work for mods?
    what's the difference?
    could i personally update my mods to work with nightly?

    ... ok i ask too much. xD sorry.

    ah thank you =D i was actually looking for a __merge guide, but couldn't find one... will take a look ^^ thank you again

    edit:
    ah! i get what you meant now xD
    that player.config file wasn't made by me, i just added the __merge thing.
    so after reading some of those pages, i've come to the conclusion, likely the wrong one. that all i need in the player.config file is this:

    Code:
    {
      "__merge" : [], 
      "defaultBlueprints" :
      {
        "tier1" :
        [
          { "item" : "stonebeamaxe" }
        ]
      }
    }
    
    


    did i understand it right?
    it works! i've fixed my first mod! lol
     
    Last edited: Sep 17, 2014
  4. The | Suit

    The | Suit Agent S. Forum Moderator

    Yup
    Essentially merge should be bare bones use.
    Only merge what needs to be merged otherwise you will face a lot of conflicts.

    Bartwerf has the best guide you will have to look into his account and look for his merging guide.
    http://community.playstarbound.com/...ions-to-the-__merge-command-deprecated.69962/
    http://community.playstarbound.com/...erging-config-files-in-mods-deprecated.53775/

    That will be his 2 posts on merging.
    As for nightly mods - as long as the mod doesn't modify any vanilla files. [ which includes player.config ] they will [ mostly likely ] work with nightly. Otherwise you will need a nightly version of the mod which is updated to the patch system.

    As for the patch system, I provided the link above in the previous post.
    Which answers 90% of your questions. Better just click on the links next time as they are provided for a reason.
     

Share This Page