How To - make your own dungeon sets

Discussion in 'Starbound Modding' started by Trook, Jan 8, 2014.

Thread Status:
Not open for further replies.
  1. Markelius

    Markelius Space Kumquat

    Thanks! That's what I wanted to know. Now I just hope this tutorial still works/gets updated.
     
  2. MysticMalevolence

    MysticMalevolence Oxygen Tank

    @Darth_Biomech, @Markelius

    As far as making a dungeon (via putting colors on a template and assigning those color values a block), this tutorial is valid. (I've used this in making my own mission (Though you don't necessarily need Starstructor.))
    Meaning this:

    Is all unchanged.

    The anchoring should be unchanged; however, I haven't done anything with multiple anchors (so I am unsure).



    I cannot speak for the rest of it, though.


    Rather than doing this:
    I suggest looking at patching; it'll keep your mods compatible.

    (Apologies if this has been answered already.)
     
  3. Markelius

    Markelius Space Kumquat

    Just some quick questions, what does "dungeonCountRange" in terrestrial_worlds mean? Is "worldGenMustContainAirBackground" still a valid rule? I've found it in vanilla dungeon files, but loading the mod I'm testing starbound.log always displays the error "Error: Unknown dungeon rule: worldGenMustContainSolid", no crash though.

    Also, what would be necessary to completely overwrite a dungeon list in terrestrial_worlds, the mod I'm testing used to have an alternate worldgen config file which would make the dungeon in question spawn on the first dungeon you visited. I tried replicating this by replacing all dungeons in the lists using overwrite, but the dungeon generation seemed to have been unchanged, as I still found vanilla dungeons.

    I can post files if necessary.
     
  4. Shadow Wolf TJC

    Shadow Wolf TJC Spaceman Spiff

    I believe that dungeonCountRange determines the minimum and maximum number of dungeons that are generated in a "layer" of a world. By default, this is set to [0, 0], meaning that no dungeons are generated in a layer, unless otherwise specified.
    I haven't delved into dungeon making since Upbeat Giraffe, but I do believe that "worldGenMustContainAirBackground" is still valid. However, from the looks of things, it seems as if "worldGenMustContainSolid" is no longer valid. Try "worldGenMustContainSolidBackground" and/or "worldGenMustContainSolidForeground" instead.
    If, say, you only want to modify which dungeons pop up on "garden" planets (the starting planets), then you could try simply replacing the "garden" planets' dungeon list with a new one:
    Code:
    [
    {
      "op": "replace",
      "path": "/planetTypes/garden/layers/surface/dungeons",
      "value": [ "mydungeon1", "mydungeon2", "mydungeon3", "etc" ]
    }
    ]
    If you want to replace all of the dungeons without touching the rest of the file, I'd still recommend doing it through patches, even if they're big ones. That way, you won't risk accidentally overwriting some other mod's work in applying patches (unless they're also adding dungeons, in which case, you might want to force the other mods to wait until your mod has applied its patches by having their .modinfo files "include" your mod)
     
    Markelius likes this.
  5. Markelius

    Markelius Space Kumquat

    Alright, I looked over the dungeon files in the mod, and I'm lost on this, it contains only instances of "worldgenmustcontainsolidbackground" / "forground" but the .log still shows the error I mentioned. I'm out of ideas. Here's the dungeon file in question:
    Code:
    {
      "metadata": {
        "name": "humancolony",
        "species": "dummy",
        "rules": [],
        "maxRadius": 2000,
        "maxParts": 100,
        "anchor": [
          "centre"
        ]
      },
      "tiles": [
        {
          "value": [
            0,
            0,
            0,
            255
          ],
          "comment": "no comment defined",
          "brush": [
            [
              "clear"
            ]
          ],
          "rules": [
            [
              "worldGenMustContainAirBackground"
            ],
            [
              "allowOverdrawing"
            ]
          ],
          "connector": false
        },
        {
          "value": [
            255,
            255,
            255,
            255
          ],
          "comment": "no comment defined",
          "brush": [
            [
              "surface"
            ]
          ],
          "rules": [
            [
              "worldGenMustContainSolidBackground"
            ],
            [
              "allowOverdrawing"
            ]
          ],
          "connector": false
        },
        {
          "value": [
            255,
            0,
            220,
            255
          ],
          "comment": "magic pinkppp, a no-op value",
          "connector": false
        },
        {
          "value": [
            0,
            0,
            0,
            255
          ],
          "comment": "no comment defined",
          "brush": [
            [
              "clear"
            ]
          ],
          "rules": [
            [
              "worldGenMustContainAirBackground"
            ],
            [
              "allowOverdrawing"
            ]
          ],
          "connector": false
        },
        {
          "value": [
            255,
            255,
            255,
            255
          ],
          "comment": "no comment defined",
          "rules": [
            [
              "worldGenMustContainSolidBackground"
            ],
            [
              "allowOverdrawing"
            ]
          ],
          "connector": false
        },
        {
          "value": [
            0,
            38,
            255,
            255
          ],
          "comment": "bright blue, entrance coupler",
          "connector": true
        },
        {
          "value": [
            0,
            255,
            186,
            255
          ],
          "comment": "bright aqua, empty cave coupler",
          "connector": true
        },
        {
          "value": [
            240,
            255,
            0,
            255
          ],
          "comment": "bright yellow, entrance piece coupler",
          "connector": true
        },
        {
          "value": [
            32,
            32,
            32,
            255
          ],
          "comment": "Empty hole",
          "brush": [
            [
              "clear"
            ]
          ],
          "connector": false
        },
        {
          "value": [
            128,
            128,
            128,
            255
          ],
          "comment": "Biome tile brush",
          "brush": [
            [
              "surface"
            ]
          ],
          "rules": [
            [
              "allowOverdrawing"
            ]
          ],
          "connector": false
        },
        {
          "value": [
            100,
            100,
            100,
            255
          ],
          "comment": "Biome tile brush non-overwritable",
          "brush": [
            [
              "surface"
            ]
          ],
          "connector": false
        },
        {
          "value": [
            200,
            200,
            200,
            255
          ],
          "comment": "Biome tile background brush",
          "brush": [
            [
              "clear"
            ],
            [
              "surfacebackground"
            ]
          ],
          "connector": false
        },
        {
          "value": [
            54,
            63,
            105,
            255
          ],
          "comment": "water pool foreground",
          "brush": [ [ "clear" ], [ "liquid", "water" ] ],
          "connector": false
        },
        {
          "value": [
            255,
            232,
            178,
            255
          ],
          "comment": "background main biome block",
          "brush": [
            [
              "clear"
            ],
            [
              "surfacebackground",
              {
                "variant": 0
              }
            ]
          ],
          "connector": false
        },
        {
          "value": [
            255,
            222,
            178,
            255
          ],
          "comment": "overwritable background main biome block",
          "brush": [
            [
              "clear"
            ],
            [
              "surfacebackground",
              {
                "variant": 0
              }
            ]
          ],
          "rules": [
            [
              "allowOverdrawing"
            ]
          ],
          "connector": false
        },
        {
          "value": [
            204,
            186,
            143,
            255
          ],
          "comment": "foreground main biome block",
          "brush": [
            [
              "surface",
              {
                "variant": 0
              }
            ]
          ],
          "connector": false
        },
        {
          "value": [
            204,
            176,
            143,
            255
          ],
          "comment": "overwritable foreground main biome block",
          "brush": [
            [
              "surface",
              {
                "variant": 0
              }
            ]
          ],
          "rules": [
            [
              "allowOverdrawing"
            ]
          ],
          "connector": false
        },
        {
          "value": [
            107,
            134,
            137,
            255
          ],
          "comment": "colonyfloor",
          "brush": [
            [
              "clear"
            ],
            [
              "back",
              "colonyfloor"
            ],
            [
              "front",
              "colonyfloor"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            186,
            214,
            140,
            255
          ],
          "comment": "colonyfence",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonyfence"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            156,
            203,
            31,
            255
          ],
          "comment": "colonywall foreground",
          "brush": [
            [
              "clear"
            ],
            [
              "back",
              "colonywall"
            ],
            [
              "front",
              "colonywall"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            68,
            217,
            249,
            255
          ],
          "comment": "supportv foreground",
          "brush": [
            [
              "clear"
            ],
            [
              "back",
              "colonysupport"
            ],
            [
              "front",
              "colonysupport"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            35,
            202,
            113,
            255
          ],
          "comment": "colonywall foreground",
          "brush": [
            [
              "clear"
            ],
            [
              "back",
              "colonywallbg"
            ],
            [
              "front",
              "colonywallbg"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            14,
            206,
            81,
            255
          ],
          "comment": "colonysupporth foreground",
          "brush": [
            [
              "clear"
            ],
            [
              "back",
              "colonysupporth"
            ],
            [
              "front",
              "colonysupporth"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            99,
            48,
            29,
            255
          ],
          "comment": "colonysupportv back",
          "brush": [
            [
              "clear"
            ],
            [
              "back",
              "colonysupport"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            212,
            242,
            221,
            255
          ],
          "comment": "colonydoors",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonyslidingdoors"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            4,
            59,
            0,
            255
          ],
          "comment": "colonywall back",
          "brush": [
            [
              "clear"
            ],
            [
              "back",
              "colonywallbg"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            162,
            164,
            108,
            255
          ],
          "comment": "colonytable1",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonytable"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            212,
            110,
            128,
            255
          ],
          "comment": "colonybeamh back",
          "brush": [
            [
              "clear"
            ],
            [
              "back",
              "colonywallv"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            131,
            241,
            40,
            255
          ],
          "comment": "colonychairl",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonychair",
              {
                "direction": "left"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            68,
            56,
            215,
            255
          ],
          "comment": "colonycomputerr",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonycomputer",
              {
                "direction": "right"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            148,
            66,
            35,
            255
          ],
          "comment": "colonybeamh back",
          "brush": [
            [
              "clear"
            ],
            [
              "back",
              "colonywallh"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            24,
            120,
            127,
            255
          ],
          "comment": "colonybeamh front",
          "brush": [
            [
              "clear"
            ],
            [
              "back",
              "colonywallv"
            ],
            [
              "front",
              "colonywallv"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            236,
            170,
            98,
            255
          ],
          "comment": "colonybeamv front",
          "brush": [
            [
              "clear"
            ],
            [
              "back",
              "colonywallh"
            ],
            [
              "front",
              "colonywallh"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            101,
            23,
            252,
            255
          ],
          "comment": "colonyflower1",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonyplant"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            92,
            27,
            11,
            255
          ],
          "comment": "colonyflower2",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonyplantwide"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            53,
            116,
            104,
            255
          ],
          "comment": "colonypanel1",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonypanel1"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            10,
            67,
            244,
            255
          ],
          "comment": "colonylocker1l",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonylocker",
              {
                "parameters": {
                  "treasurePools": [
                    "colonytreasure"
                  ]
                }
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            119,
            9,
            204,
            255
          ],
          "comment": "window",
          "brush": [
            [
              "clear"
            ],
            [
              "back",
              "glass"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            130,
            165,
            57,
            255
          ],
          "comment": "colonyblock back",
          "brush": [
            [
              "clear"
            ],
            [
              "back",
              "colonywall"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            199,
            89,
            221,
            255
          ],
          "comment": "colonytablel2",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonytable2"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            233,
            64,
            211,
            255
          ],
          "comment": "colonyradior",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonyradio",
              {
                "direction": "right"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            41,
            117,
            254,
            255
          ],
          "comment": "colonyglass",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonyglass"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            151,
            219,
            156,
            255
          ],
          "comment": "colonylocker1r",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonylocker",
              {
                "direction": "right",
                "parameters": {
                  "treasurePools": [
                    "colonytreasure"
                  ]
                }
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            161,
            244,
            1,
            255
          ],
          "comment": "colonybed2",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonybed1",
              {
                "direction": "left"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            52,
            92,
            52,
            255
          ],
          "comment": "colonycupboardl",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonycupboard",
              {
                "direction": "left",
                "parameters": {
                  "treasurePools": [
                    "colonytreasure"
                  ]
                }
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            128,
            34,
            201,
            255
          ],
          "comment": "colonylocker2r",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonylocker2",
              {
                "direction": "right",
                "parameters": {
                  "treasurePools": [
                    "colonytreasure"
                  ]
                }
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            21,
            239,
            34,
            255
          ],
          "comment": "colonytable1r",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonytable",
              {
                "direction": "right"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            82,
            237,
            91,
            255
          ],
          "comment": "colonychair1r",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonychair",
              {
                "direction": "right"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            111,
            167,
            65,
            255
          ],
          "comment": "colonychest",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonychest",
              {
                "direction": "left",
                "parameters": {
                  "treasurePools": [
                    "basicTreasure"
                  ]
                }
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            0,
            0,
            200,
            255
          ],
          "comment": "human guard npc",
          "brush": [
            [
              "npc",
              {
                "kind": "npc",
                "species": "human",
                "typeName": "colonyguard"
              }
            ]
          ],
          "connector": false
        },
        {
          "value": [
            0,
            0,
            100,
            255
          ],
          "comment": "human npc",
          "brush": [
            [
              "npc",
              {
                "kind": "npc",
                "species": "human",
                "typeName": "colonist"
              }
            ]
          ],
          "connector": false
        },
        {
          "value": [
            8,
            210,
            43,
            255
          ],
          "comment": "platform",
          "brush": [
            [
              "clear"
            ],
            [
              "front",
              "steelplatform"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            6,
            229,
            120,
            255
          ],
          "comment": "colonythermos",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonythermos",
              {
                "direction": "left"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            221,
            202,
            235,
            255
          ],
          "comment": "vent",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonyvent"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            113,
            9,
            184,
            255
          ],
          "comment": "colonycooking",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonycookingset",
              {
                "parameters": {
                  "treasurePools": [
                    "colonytreasure"
                  ]
                }
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            127,
            75,
            6,
            255
          ],
          "comment": "capsule1",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "capsulemed"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            171,
            144,
            146,
            255
          ],
          "comment": "colonylight",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonylight"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            134,
            52,
            105,
            255
          ],
          "comment": "steelchair",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "steelchair",
              {
                "direction": "right"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            103,
            40,
            207,
            255
          ],
          "comment": "crate2l",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonycrate2",
              {
                "parameters": {
                  "treasurePools": [
                    "colonytreasure"
                  ]
                }
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            237,
            212,
            140,
            255
          ],
          "comment": "crate1r",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonycrate1",
              {
                "direction": "right",
                "parameters": {
                  "treasurePools": [
                    "colonytreasure"
                  ]
                }
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            97,
            145,
            136,
            255
          ],
          "comment": "crate1l",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonycrate1",
              {
                "direction": "left",
                "parameters": {
                  "treasurePools": [
                    "colonytreasure"
                  ]
                }
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            236,
            168,
            44,
            255
          ],
          "comment": "colonypanel2",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonypanel2"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            85,
            207,
            4,
            255
          ],
          "comment": "colonyantenna1",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonyantenna"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            135,
            65,
            116,
            255
          ],
          "comment": "colonytable2l",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonytable2",
              {
                "direction": "left"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            194,
            157,
            55,
            255
          ],
          "comment": "colonybed2r",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonybed1",
              {
                "direction": "left"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            13,
            193,
            175,
            255
          ],
          "comment": "colonylocker1l",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonylocker",
              {
                "direction": "right",
                "parameters": {
                  "treasurePools": [
                    "colonytreasure"
                  ]
                }
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            102,
            88,
            33,
            255
          ],
          "comment": "colonyscreen",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonyscreen"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            225,
            112,
            185,
            255
          ],
          "comment": "colonyconsolel",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonyconsole",
              {
                "direction": "left"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            41,
            232,
            118,
            255
          ],
          "comment": "colonyscreenr",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonyconsole",
              {
                "direction": "right"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            67,
            71,
            35,
            255
          ],
          "comment": "colonyflower3r",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonyplantflow",
              {
                "direction": "right"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            225,
            97,
            114,
            255
          ],
          "comment": "colonylockerr",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonylocker",
              {
                "direction": "right",
                "parameters": {
                  "treasurePools": [
                    "colonytreasure"
                  ]
                }
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            170,
            172,
            93,
            255
          ],
          "comment": "colonycrate2r",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonycrate2",
              {
                "direction": "right",
                "parameters": {
                  "treasurePools": [
                    "colonytreasure"
                  ]
                }
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            88,
            221,
            71,
            255
          ],
          "comment": "tablem",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "moderntable1"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            248,
            154,
            14,
            255
          ],
          "comment": "steelchairl",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "steelchair",
              {
                "direction": "left"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            144,
            120,
            93,
            255
          ],
          "comment": "supporth",
          "brush": [
            [
              "clear"
            ],
            [
              "back",
              "colonysupporth"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            154,
            38,
            122,
            255
          ],
          "comment": "colonywep",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonyweaponrack"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            0,
            0,
            75,
            255
          ],
          "comment": "pulse guns merchant npc",
          "brush": [
            [
              "npc",
              {
                "kind": "npc",
                "species": "human",
                "typeName": "colonypulsegunsmerchant",
                "parameters": {
                  "scriptConfig": {
                    "noticePlayersRadius": 20.0,
                    "merchant": {
                      "categories": [
                        "pulsegunsmerchant"
                      ],
                      "priceVarianceRange": [
                        1.0,
                        1
                      ]
                    }
                  }
                }
              }
            ]
          ],
          "connector": false
        },
        {
          "value": [
            0,
            0,
            40,
            255
          ],
          "comment": "doctor merchant npc",
          "brush": [
            [
              "npc",
              {
                "kind": "npc",
                "species": "human",
                "typeName": "colonydoctor",
                "parameters": {
                  "scriptConfig": {
                    "noticePlayersRadius": 10.0,
                    "merchant": {
                      "categories": [
                        "colonydoctor"
                      ],
                      "priceVarianceRange": [
                        0.8,
                        1
                      ]
                    }
                  }
                }
              }
            ]
          ],
          "connector": false
        },
        {
          "value": [
            0,
            0,
            70,
            255
          ],
          "comment": "colony merchant npc",
          "brush": [
            [
              "npc",
              {
                "kind": "npc",
                "species": "human",
                "typeName": "colonymerchant",
                "parameters": {
                  "scriptConfig": {
                    "noticePlayersRadius": 20.0,
                    "merchant": {
                      "categories": [
                        "colonymerchant",
                        "humanarmorblueprints",
                        "toolmerchant"
                      ],
                      "priceVarianceRange": [
                        0.9,
                        1
                      ]
                    }
                  }
                }
              }
            ]
          ],
          "connector": false
        },
        {
          "value": [
            85,
            100,
            36,
            255
          ],
          "comment": "truck",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonytruck",
              {
                "direction": "right"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            254,
            116,
            58,
            255
          ],
          "comment": "colonywep2",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonyweaponrack2"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            192,
            163,
            160,
            255
          ],
          "comment": "colonyposter1",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonyposter1",
              {
                "direction": "right"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            35,
            73,
            78,
            255
          ],
          "comment": "colonytable2r",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonytable2",
              {
                "direction": "right"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            174,
            17,
            178,
            255
          ],
          "comment": "colonycomprl",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonycomputer",
              {
                "direction": "left"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            114,
            217,
            160,
            255
          ],
          "comment": "colonycupboardr",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonycupboard",
              {
                "direction": "right",
                "parameters": {
                  "treasurePools": [
                    "colonytreasure"
                  ]
                }
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            201,
            132,
            63,
            255
          ],
          "comment": "colonyantenna2",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonyantenna2"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            98,
            158,
            161,
            255
          ],
          "comment": "colonyflowerwider",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonyplantwide",
              {
                "direction": "right"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            152,
            8,
            145,
            255
          ],
          "comment": "metallic",
          "brush": [
            [
              "clear"
            ],
            [
              "back",
              "metallic"
            ],
            [
              "front",
              "metallic"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            55,
            47,
            173,
            255
          ],
          "comment": "colonyflower2l",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonyplantwide",
              {
                "direction": "left"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            98,
            13,
            139,
            255
          ],
          "comment": "colonyflower3l",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonyplantflow",
              {
                "direction": "left"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            67,
            125,
            132,
            255
          ],
          "comment": "medisign",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonymedicalsing"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            221,
            4,
            91,
            255
          ],
          "comment": "medisign2",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonymedicalsing",
              {
                "direction": "right"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            40,
            24,
            8,
            255
          ],
          "comment": "colonybench",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonybench",
              {
                "direction": "right"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            247,
            217,
            122,
            255
          ],
          "comment": "medibed",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonymedicalbed"
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            65,
            138,
            75,
            255
          ],
          "comment": "medicabinet",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonymedicalcabinet2",
         {
         "parameters": {
                  "treasurePools": [
                    "colonytreasure"
                  ]
                }
           }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            134,
            123,
            121,
            255
          ],
          "comment": "medicabinet2",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonymedicalcabinet1",
              {
                "direction": "right"
              }
            ]
          ],
          "rules": [],
          "connector": false
        },
        {
          "value": [
            212,
            45,
            215,
            255
          ],
          "comment": "colonyroofvent",
          "brush": [
            [
              "clear"
            ],
            [
              "object",
              "colonyroofvent"
            ]
          ],
          "rules": [],
          "connector": false
        }
      ],
      "parts": [
        {
          "def": [
            "image",
            [
              "centre.png",
              "centreobjects.png"
            ]
          ],
          "rules": [
            [
              "maxSpawnCount",
              [
                1
              ]
            ]
          ],
          "name": "centre"
        },
        {
          "def": [
            "image",
            [
              "1-backgroundtiles.png",
              "1-objects.png"
            ]
          ],
          "rules": [
            [
              "doNotConnectToPart",
              [
                "centre",
                "2",
                "3",
                "4",
                "5",
                "6",
                "7"
              ]
            ],
            [
              "maxSpawnCount",
              [
                1
              ]
            ]
          ],
          "name": "1"
        },
        {
          "def": [
            "image",
            [
              "entryright1-backgroundtiles.png",
              "entryright1-objects.png"
            ]
          ],
          "rules": [
            [
              "ignorePartMaximumRule"
            ],
            [
              "maxSpawnCount",
              [
                1
              ]
            ]
          ],
          "chance": 0.0,
          "name": "entryright1"
        },
        {
          "def": [
            "image",
            [
              "1a.png",
              "1aobjects.png"
            ]
          ],
          "rules": [
            [
              "maxSpawnCount",
              [
                1
              ]
            ],
            [
              "doNotConnectToPart",
              [
                "centre",
                "2",
                "3",
                "4",
                "5",
                "6",
                "7",
                "1a",
                "2a",
                "5a"
              ]
            ]
          ],
          "chance": 0.0,
          "name": "1a"
        },
        {
          "def": [
            "image",
            [
              "2a.png",
              "2aobjects.png"
            ]
          ],
          "rules": [
            [
              "maxSpawnCount",
              [
                1
              ]
            ],
            [
              "doNotConnectToPart",
              [
                "centre",
                "2",
                "3",
                "4",
                "5",
                "6",
                "7",
                "1a",
                "2a",
                "5a"
              ]
            ]
          ],
          "chance": 0.0,
          "name": "2a"
        },
        {
          "def": [
            "image",
            [
              "5a.png",
              "5aobjects.png"
            ]
          ],
          "rules": [
            [
              "maxSpawnCount",
              [
                1
              ]
            ],
            [
              "doNotConnectToPart",
              [
                "centre",
                "2",
                "3",
                "4",
                "5",
                "6",
                "7",
                "1a",
                "2a",
                "5a"
              ]
            ]
          ],
          "chance": 0.0,
          "name": "5a"
        },
        {
          "def": [
            "image",
            [
              "entryleft1.png",
              "entryleft1-objects.png"
            ]
          ],
          "rules": [
            [
              "ignorePartMaximumRule"
            ],
            [
              "maxSpawnCount",
              [
                1
              ]
            ]
          ],
          "chance": 0.0,
          "name": "entryleft1"
        },
        {
          "def": [
            "image",
            [
              "2-backgroundtiles.png",
              "2-objects.png"
            ]
          ],
          "rules": [
            [
              "doNotConnectToPart",
              [
                "centre",
                "1",
                "3",
                "4",
                "5",
                "6",
                "7"
              ]
            ],
            [
              "maxSpawnCount",
              [
                1
              ]
            ]
          ],
          "name": "2"
        },
        {
          "def": [
            "image",
            [
              "3-backgroundtiles.png",
              "3-objects.png"
            ]
          ],
          "rules": [
            [
              "doNotConnectToPart",
              [
                "centre",
                "2",
                "1",
                "4",
                "5",
                "6",
                "7"
              ]
            ],
            [
              "maxSpawnCount",
              [
                1
              ]
            ]
          ],
          "name": "3"
        },
        {
          "def": [
            "image",
            [
              "4-backgroundtiles.png",
              "4-objects.png"
            ]
          ],
          "rules": [
            [
              "doNotConnectToPart",
              [
                "centre",
                "2",
                "3",
                "1",
                "5",
                "6",
                "7"
              ]
            ],
            [
              "maxSpawnCount",
              [
                1
              ]
            ]
          ],
          "name": "4"
        },
        {
          "def": [
            "image",
            [
              "entryright2-backgroundtiles.png",
              "entryright2-objects.png"
            ]
          ],
          "rules": [
            [
              "ignorePartMaximumRule"
            ]
          ],
          "chance": 0.0,
          "name": "entryright2"
        },
        {
          "def": [
            "image",
            [
              "5-backgroundtiles.png",
              "5-objects.png"
            ]
          ],
          "rules": [
            [
              "doNotConnectToPart",
              [
                "centre",
                "2",
                "3",
                "4",
                "1",
                "6",
                "7"
              ]
            ],
            [
              "maxSpawnCount",
              [
                1
              ]
            ]
          ],
          "name": "5"
        },
        {
          "def": [
            "image",
            [
              "6-backgroundtiles.png",
              "6-objects.png"
            ]
          ],
          "rules": [
            [
              "doNotConnectToPart",
              [
                "centre",
                "2",
                "3",
                "4",
                "5",
                "1",
                "7"
              ]
            ],
            [
              "maxSpawnCount",
              [
                1
              ]
            ]
          ],
          "name": "6"
        },
        {
          "def": [
            "image",
            [
              "7-backgroundtiles.png",
              "7-objects.png"
            ]
          ],
          "rules": [
            [
              "doNotConnectToPart",
              [
                "centre",
                "2",
                "3",
                "4",
                "5",
                "6",
                "1"
              ]
            ],
            [
              "maxSpawnCount",
              [
                1
              ]
            ]
          ],
          "name": "7"
        },
        {
          "def": [
            "image",
            [
              "8-backgroundtiles.png",
              "8-objects.png"
            ]
          ],
          "rules": [
            [
              "doNotConnectToPart",
              [
                "8",
                "9",
                "10",
                "11",
                "12"
              ]
            ]
          ],
          "name": "8"
        },
        {
          "def": [
            "image",
            [
              "9-backgroundtiles.png",
              "9-objects.png"
            ]
          ],
          "rules": [
            [
              "doNotConnectToPart",
              [
                "8",
                "9",
                "10",
                "11",
                "12"
              ]
            ]
          ],
          "name": "9"
        },
        {
          "def": [
            "image",
            [
              "10-backgroundtiles.png",
              "10-objects.png"
            ]
          ],
          "rules": [
            [
              "doNotConnectToPart",
              [
                "8",
                "9",
                "10",
                "11",
                "12"
              ]
            ],
            [
              "maxSpawnCount",
              [
                2
              ]
            ]
          ],
          "name": "10"
        },
        {
          "def": [
            "image",
            [
              "11-backgroundtiles.png",
              "11-objects.png"
            ]
          ],
          "rules": [
            [
              "doNotConnectToPart",
              [
                "8",
                "9",
                "10",
                "11",
                "12"
              ]
            ],
            [
              "maxSpawnCount",
              [
                1
              ]
            ]
          ],
          "name": "11"
        },
        {
          "def": [
            "image",
            [
              "12-backgroundtiles.png",
              "12-objects.png"
            ]
          ],
          "rules": [
            [
              "doNotConnectToPart",
              [
                "8",
                "9",
                "10",
                "11",
                "12"
              ]
            ],
            [
              "maxSpawnCount",
              [
                1
              ]
            ]
          ],
          "name": "12"
        },
        {
          "def": [
            "image",
            [
              "13-backgroundtiles.png",
              "13-objects.png"
            ]
          ],
          "rules": [
            [
              "maxSpawnCount",
              [
                1
              ]
            ]
          ],
          "name": "13"
        }
      ]
    }
    

    I have no idea what's preventing this from working. I've compared it with vanilla dungeon files and haven't seen anything out of sync.

    btw, here's my worldgen config patch, it's worth mentioning I've never found the dungeon on any planets I've explored yet:
    Code:
    [
    {"op":"add","path":"/planetTypes/forest/layers/surface/dungeons/-","value":"colony"},
    {"op":"add","path":"/planetTypes/desert/layers/surface/dungeons/-","value":"colony"},
    {"op":"add","path":"/planetTypes/savannah/layers/surface/dungeons/-","value":"colony"},
    {"op":"add","path":"/planetTypes/snow/layers/surface/dungeons/-","value":"colony"}
    ]
    


    I even tried an alternate version which was supposed to replace every dungeon on the list, only leaving the colony dungeon, no dice, here's that patch:
    Code:
    [
    {"op":"replace","path":"/planetTypes/forest/layers/surface/dungeons/0","value":"colony"},
    {"op":"replace","path":"/planetTypes/forest/layers/surface/dungeons/1","value":"colony"},
    {"op":"replace","path":"/planetTypes/forest/layers/surface/dungeons/2","value":"colony"},
    {"op":"replace","path":"/planetTypes/forest/layers/surface/dungeons/3","value":"colony"},
    {"op":"replace","path":"/planetTypes/forest/layers/surface/dungeons/4","value":"colony"},
    {"op":"replace","path":"/planetTypes/forest/layers/surface/dungeons/5","value":"colony"},
    {"op":"replace","path":"/planetTypes/forest/layers/surface/dungeons/6","value":"colony"},
    {"op":"replace","path":"/planetTypes/forest/layers/surface/dungeons/7","value":"colony"},
    {"op":"replace","path":"/planetTypes/forest/layers/surface/dungeons/8","value":"colony"},
    {"op":"replace","path":"/planetTypes/forest/layers/surface/dungeons/9","value":"colony"},
    {"op":"replace","path":"/planetTypes/forest/layers/surface/dungeons/10","value":"colony"},
    {"op":"replace","path":"/planetTypes/desert/layers/surface/dungeons/0","value":"colony"},
    {"op":"replace","path":"/planetTypes/desert/layers/surface/dungeons/1","value":"colony"},
    {"op":"replace","path":"/planetTypes/desert/layers/surface/dungeons/2","value":"colony"},
    {"op":"replace","path":"/planetTypes/desert/layers/surface/dungeons/3","value":"colony"},
    {"op":"replace","path":"/planetTypes/desert/layers/surface/dungeons/4","value":"colony"},
    {"op":"replace","path":"/planetTypes/desert/layers/surface/dungeons/5","value":"colony"},
    {"op":"replace","path":"/planetTypes/desert/layers/surface/dungeons/6","value":"colony"},
    {"op":"replace","path":"/planetTypes/desert/layers/surface/dungeons/7","value":"colony"},   
    {"op":"replace","path":"/planetTypes/desert/layers/surface/dungeons/8","value":"colony"},
    {"op":"replace","path":"/planetTypes/desert/layers/surface/dungeons/9","value":"colony"},
    {"op":"replace","path":"/planetTypes/desert/layers/surface/dungeons/10","value":"colony"},
    {"op":"replace","path":"/planetTypes/savannah/layers/surface/dungeons/0","value":"colony"},
    {"op":"replace","path":"/planetTypes/savannah/layers/surface/dungeons/1","value":"colony"},
    {"op":"replace","path":"/planetTypes/savannah/layers/surface/dungeons/2","value":"colony"},
    {"op":"replace","path":"/planetTypes/savannah/layers/surface/dungeons/3","value":"colony"},
    {"op":"replace","path":"/planetTypes/savannah/layers/surface/dungeons/4","value":"colony"},
    {"op":"replace","path":"/planetTypes/savannah/layers/surface/dungeons/5","value":"colony"},
    {"op":"replace","path":"/planetTypes/savannah/layers/surface/dungeons/6","value":"colony"},
    {"op":"replace","path":"/planetTypes/savannah/layers/surface/dungeons/7","value":"colony"},
    {"op":"replace","path":"/planetTypes/savannah/layers/surface/dungeons/8","value":"colony"},
    {"op":"replace","path":"/planetTypes/savannah/layers/surface/dungeons/9","value":"colony"},
    {"op":"replace","path":"/planetTypes/snow/layers/surface/dungeons/0","value":"colony"},
    {"op":"replace","path":"/planetTypes/snow/layers/surface/dungeons/1","value":"colony"},
    {"op":"replace","path":"/planetTypes/snow/layers/surface/dungeons/2","value":"colony"},
    {"op":"replace","path":"/planetTypes/snow/layers/surface/dungeons/3","value":"colony"},
    {"op":"replace","path":"/planetTypes/snow/layers/surface/dungeons/4","value":"colony"},
    {"op":"replace","path":"/planetTypes/snow/layers/surface/dungeons/5","value":"colony"},
    {"op":"replace","path":"/planetTypes/snow/layers/surface/dungeons/6","value":"colony"},
    {"op":"replace","path":"/planetTypes/snow/layers/surface/dungeons/7","value":"colony"},
    {"op":"replace","path":"/planetTypes/snow/layers/surface/dungeons/8","value":"colony"},
    {"op":"replace","path":"/planetTypes/snow/layers/surface/dungeons/9","value":"colony"},
    {"op":"replace","path":"/planetTypes/snow/layers/surface/dungeons/10","value":"colony"}
    ]
    
     
  6. Shadow Wolf TJC

    Shadow Wolf TJC Spaceman Spiff

    Is it just me, or am I seeing double?
    "tiles": [
    {
    "value": [
    0,
    0,
    0,
    255
    ],
    "comment": "no comment defined",
    "brush": [
    [
    "clear"
    ]
    ],
    "rules": [
    [
    "worldGenMustContainAirBackground"
    ],
    [
    "allowOverdrawing"
    ]
    ],
    "connector": false
    },
    {
    "value": [
    255,
    255,
    255,
    255
    ],
    "comment": "no comment defined",
    "brush": [
    [
    "surface"
    ]
    ],
    "rules": [
    [
    "worldGenMustContainSolidBackground"
    ],
    [
    "allowOverdrawing"
    ]
    ],
    "connector": false
    },

    {
    "value": [
    255,
    0,
    220,
    255
    ],
    "comment": "magic pinkppp, a no-op value",
    "connector": false
    },
    {
    "value": [
    0,
    0,
    0,
    255
    ],
    "comment": "no comment defined",
    "brush": [
    [
    "clear"
    ]
    ],
    "rules": [
    [
    "worldGenMustContainAirBackground"
    ],
    [
    "allowOverdrawing"
    ]
    ],
    "connector": false
    },
    {
    "value": [
    255,
    255,
    255,
    255
    ],
    "comment": "no comment defined",
    "rules": [
    [
    "worldGenMustContainSolidBackground"
    ],
    [
    "allowOverdrawing"
    ]
    ],
    "connector": false
    },

    Try getting rid of duplicate color-alpha combination values. I doubt that Starbound can handle more than 1 instance of, say, [255, 255, 255, 255] being initialized.
     
  7. Markelius

    Markelius Space Kumquat

    Huh, thanks for noticing that, I'll go through the files when I get the chance and remove duplicates like that, hopefully it should fix the problem. Working off of other people's work can usually be very troublesome. :p
     
  8. Mackinz

    Mackinz The Waste of Time

    As this tutorial relies heavily on Starstructor, the question is begged: is there a publicly available version of Starstructor which works with Upbeat Giraffe, yet?

    I mean, I'm sure I could used to making the image files and color coding myself, but I remember Starstructor being so much easier.
     
  9. GROVER CURES HOUSES

    GROVER CURES HOUSES Void-Bound Voyager

    The latest release, while not the latest version, seems fairly unstable but sort of loads?
     
  10. Markelius

    Markelius Space Kumquat

    Ok, I'm having a lot of trouble with this. I removed the duplicate you mentioned, no change in starbound.log. I'm not sure if there are other duplicates, the file is so long (almost 3k lines!), and there are a toon of extrenous lines.

    For instance, something like this:
    Code:
        {
          "value": [
            128,
            128,
            128,
            255
          ],
          "comment": "Biome tile brush",
          "brush": [
            [
              "surface"
            ]
          ],
          "rules": [
            [
              "allowOverdrawing"
            ]
          ],
          "connector": false
        },
    


    Should be changed to something like this (what the files look like in vanilla, a lot more readable):
    Code:
        {
          "value": [128, 128, 128, 255],
          "comment": "Biome tile brush",
          "brush": [ [ "surface" ] ],
          "rules": [ [ "allowOverdrawing" ] ],
          "connector": false
        },
    


    Unfortunately I can't figure any automated way to do this, and if I did it by hand, it would take ages, time I could be spending trying to remove duplicates and such. The file formatted the way it is also gives me a harder time because notepad++ can't search things like "255, 255, 255, 255" if each number is on a different line, which makes it a lot harder for me to track down duplicates.

    Does anyone know of any automated way to clean up a file like this? JSONLint won't do it, in fact, it'd likely make it worse. I tried a webapp which cleaned line breaks, but it just removed every single line break in the file, making it a total mess, completely unworkable.
     
  11. GROVER CURES HOUSES

    GROVER CURES HOUSES Void-Bound Voyager

    No kidding, I made the D: face IRL. Please regex.

    For formatting, you can either use this or use python's json.dump which gives you a bunch of formatting options. Also, you could probably use python to kill dupes too, come to think of it.

    e: I am very good at being wrong seeing as the site appears to no longer produce decent json(sadface) and json.dumps is the default function that produces sub-par results ughh. Welp, time to find what I used for wrangling json before.
     
    Last edited: Feb 23, 2015
  12. Markelius

    Markelius Space Kumquat

    So, it was all a false alarm. I discovered there was nothing wrong with the file, and the reason I was getting the "worldgenmustcontainsolid" error in my starbound.log was from a file included in a completely different mod (which I wasn't even aware had a dungeon, since it's disabled ingame).

    The reason it wasn't spawning is because the name defined under metadata was "humancolony", but the filename was colony.dungeon and terrestrial_worlds pointed towards it being called "colony" rather than "humancolony". I renamed the file "humancolony.dungeon" and replaced all instances of "colony" in the .config.patch with "humancolony" and it worked! The game spawned it on the first planet I landed on.

    There are a number of issues I need to address now before the mod is in working condition, but those are all things I can handle. :)
     
Thread Status:
Not open for further replies.

Share This Page