Modding Help Custom Dungeon Not Spawning?

Discussion in 'Starbound Modding' started by ImHereForTheMods, Jun 23, 2020.

  1. ImHereForTheMods

    ImHereForTheMods Cosmic Narwhal

    Hi all, I'm trying to create a simple custom dungeon.
    (with this)
    https://steamcommunity.com/sharedfiles/filedetails/?id=1092807798

    I am not able to spawn any microdungeons as far as I can tell.
    Maybe I'm not using the command properly? I don't know.

    Everything seems to work fine, except it won't spawn with /placedungeon command. Upon checking the log I get the following errors:
    (which I also get similarly when I try to spawn any vanilla dungeon...)

    Code:
    [11:54:58.109] [Info] Root: Loaded ItemDatabase in 7.47853 seconds
    [11:54:58.140] [Info] Root: Loaded QuestTemplateDatabase in 0.0231768 seconds
    [11:54:58.284] [Info] Root: Loaded StatusEffectDatabase in 0.0156817 seconds
    [11:54:58.374] [Info] Root: Loaded BehaviorDatabase in 0.2582 seconds
    [11:54:58.970] [Info] Root: Loaded BiomeDatabase in 0.684062 seconds
    [11:55:07.657] [Info] Root: Loaded DamageDatabase in 0.212803 seconds
    [11:55:10.344] [Info] Root: Loaded TerrainDatabase in 0.004551 seconds
    [11:55:15.200] [Info] Root: Loaded DungeonDefinitions in 0.205388 seconds
    [11:55:15.202] [Error] UniverseServer: exception caught: (DungeonException) Unknown dungeon: 'gardenbridgederelict'
    [0] 7ff63777a213 Star::captureStack
    [1] 7ff637778f9e Star::StarException::StarException
    [2] 7ff637885faa Star::DungeonException::format<Star::String>
    [3] 7ff63788ecca <lambda_475708549715a500cc90681f474fe533>::operator()
    [4] 7ff63788684c Star::LruCacheBase<Star::OrderedMapWrapper<Star::FlatHashMap,Star::String,std::shared_ptr<Star::DungeonDefinition>,Star::BlockAllocator<std::pair<Star::String const ,std::shared_ptr<Star::DungeonDefinition> >,1024>,Star::hash<Star::String,void>,std::equal_to<Star::String> > >::get<<lambda_475708549715a500cc90681f474fe533> >
    [5] 7ff63789a194 Star::DungeonDefinitions::get
    [6] 7ff63788c1d6 Star::DungeonGenerator::DungeonGenerator
    [7] 7ff637d0a922 Star::WorldServer::placeDungeon
    [8] 7ff63785b4e5 <lambda_adc2af6dd19569f1c82337737675c5f2>::operator()
    [9] 7ff637c24a6b std::_Func_class<void,Star::WorldServer * __ptr64,std::shared_ptr<Star::Player> >::operator()
    [10] 7ff637c2013e <lambda_20f0259dbef9ecda253d6c189a402755>::operator()
    [11] 7ff637d185bf Star::WorldServerThread::executeAction
    [12] 7ff637c31341 Star::UniverseServer::executeForClient
    [13] 7ff63786058a Star::CommandProcessor::placeDungeon
    [14] 7ff63785ece3 Star::CommandProcessor::handleCommand
    [15] 7ff637863c07 Star::CommandProcessor::userCommand
    [16] 7ff637c0d13b std::_Invoker_pmf_pointer::_Call<Star::String (__cdecl Star::CommandProcessor::*)(unsigned short,Star::String const & __ptr64,Star::String const & __ptr64) __ptr64,Star::CommandProcessor * __ptr64 & __ptr64,unsigned short,Star::String,Star::String>
    [17] 7ff637c140ad std::invoke<Star::String (__cdecl Star::CommandProcessor::*& __ptr64)(unsigned short,Star::String const & __ptr64,Star::String const & __ptr64) __ptr64,Star::CommandProcessor * __ptr64 & __ptr64,unsigned short,Star::String,Star::String>
    [18] 7ff637c0fb9b std::_Invoke_ret<Star::String (__cdecl Star::CommandProcessor::*& __ptr64)(unsigned short,Star::String const & __ptr64,Star::String const & __ptr64) __ptr64,Star::CommandProcessor * __ptr64 & __ptr64,unsigned short,Star::String,Star::String>
    [19] 7ff637c0d1aa std::_Call_binder<std::_Unforced,0,1,2,3,Star::String (__cdecl Star::CommandProcessor::*)(unsigned short,Star::String const & __ptr64,Star::String const & __ptr64) __ptr64,std::tuple<Star::CommandProcessor * __ptr64,std::_Ph<1>,std::_Ph<2>,std::_Ph<3> >,std::tuple<unsigned short && __ptr64,Star::String && __ptr64,Star::String && __ptr64> >
    [20] 7ff637c0cc6f std::_Binder<std::_Unforced,Star::String (__cdecl Star::CommandProcessor::*)(unsigned short,Star::String const & __ptr64,Star::String const & __ptr64) __ptr64,Star::CommandProcessor * __ptr64,std::_Ph<1> const & __ptr64,std::_Ph<2> const & __ptr64,std::_Ph<3> const & __ptr64>::operator()<unsigned short,Star::String,Star::String>
    [21] 7ff637c0d0d9 std::_Invoker_functor::_Call<std::_Binder<std::_Unforced,Star::String (__cdecl Star::CommandProcessor::*)(unsigned short,Star::String const & __ptr64,Star::String const & __ptr64) __ptr64,Star::CommandProcessor * __ptr64,std::_Ph<1> const & __ptr64,std::_Ph<2> const & __ptr64,std::_Ph<3> const & __ptr64> & __ptr64,unsigned short,Star::String,Star::String>
    [22] 7ff637c14160 std::invoke<std::_Binder<std::_Unforced,Star::String (__cdecl Star::CommandProcessor::*)(unsigned short,Star::String const & __ptr64,Star::String const & __ptr64) __ptr64,Star::CommandProcessor * __ptr64,std::_Ph<1> const & __ptr64,std::_Ph<2> const & __ptr64,std::_Ph<3> const & __ptr64> & __ptr64,unsigned short,Star::String,Star::String>
    [23] 7ff637c0fc9e std::_Invoke_ret<Star::String,std::_Binder<std::_Unforced,Star::String (__cdecl Star::CommandProcessor::*)(unsigned short,Star::String const & __ptr64,Star::String const & __ptr64) __ptr64,Star::CommandProcessor * __ptr64,std::_Ph<1> const & __ptr64,std::_Ph<2> const & __ptr64,std::_Ph<3> const & __ptr64> & __ptr64,unsigned short,Star::String,Star::String>
    [24] 7ff637c25b1b std::_Func_impl<std::_Binder<std::_Unforced,Star::String (__cdecl Star::CommandProcessor::*)(unsigned short,Star::String const & __ptr64,Star::String const & __ptr64) __ptr64,Star::CommandProcessor * __ptr64,std::_Ph<1> const & __ptr64,std::_Ph<2> const & __ptr64,std::_Ph<3> const & __ptr64>,std::allocator<int>,Star::String,unsigned short,Star::String,Star::String>::_Do_call
    [25] 7ff63783b9f6 std::_Func_class<Star::String,unsigned short,Star::String,Star::String>::operator()
    [26] 7ff63783ec99 Star::ChatProcessor::handleCommand
    [27] 7ff63783c71d Star::ChatProcessor::broadcast
    [28] 7ff637c37421 Star::UniverseServer::processChat
    [29] 7ff637c3a069 Star::UniverseServer::run
    [30] 7ff637776d9e Star::ThreadImpl::runThread
    [31] 7ffe79257bd4 BaseThreadInitThunk
    [32] 7ffe7976ce51 RtlUserThreadStart
    My file structure is:
    \mods\dungeontest\dungeons\microdungeons\biomes\garden

    and I have a gardenbridgederelict.json file created with tiled (the map)
    and I have the gardenmicrodungeons.dungeon.patch

    Patch file looks like:

    Code:
    [
    {
      "op": "add",
      "path": "/metadata/anchor/-",
      "value":
         "gardenbridgederelict"
    },
    {
      "op": "add",
      "path": "/parts/-",
      "value":
        {
          "name" : "gardenbridgederelict",
          "rules" : [
            [ "maxSpawnCount", [1] ]
          ],
          "def" : [ "tmx", "gardenbridgederelict.json" ]
        }
    }
    ]
    Checked all files with a json validator, and a json patcher.
    Json patch works perfectly far as I can tell.

    Might try removing some mods too til I only have the ones I am working on. Maybe some conflict or something.


    Thanks in advance for any help.
     
    Last edited: Jun 23, 2020
  2. projectmayhem

    projectmayhem Spaceman Spiff

    Anytime ive tried, ive always had to explore the planet to find where it placed it. I would try setting the spawn chance super high, then making a new character and going to a garden biome.
     
  3. ImHereForTheMods

    ImHereForTheMods Cosmic Narwhal

    Thanks man, I hate to have to do that, hopefully that's not the only way....

    Where do I set spawn chance?
     
  4. projectmayhem

    projectmayhem Spaceman Spiff

    In the biome file look for the surfacePlaceables { } section. You want to patch your minidungeon in there.

    The info you want to patch in will look like this


    {
    "mode" : "floor",
    "priority" : 99, <---- make sure this is high so its spawns a lot so you can test it out
    "variants" : 1,
    "distribution" : "/biomes/distributions.config:mainBiomeMicrodungeon",
    "type" : "microdungeon",
    "microdungeons" : [ "gardenbridgederelict" ]
    }
     
    ImHereForTheMods likes this.
  5. ImHereForTheMods

    ImHereForTheMods Cosmic Narwhal

    Thanks man, will give a try tonight.
     
  6. ImHereForTheMods

    ImHereForTheMods Cosmic Narwhal

    Atm can't seem to find a file with that kind of info in it.
    I'm guessing I patch this to: gardenmicrodungeons.dungeon?

    I don't see a surface placeables section there...
    Will keep looking.
     
  7. ImHereForTheMods

    ImHereForTheMods Cosmic Narwhal

    I think I found it... I was looking in the microdungeons area....
    I found a file with similar entries at _unpacked\biomes\surface\garden.biome

    Only thing that puzzles me is that most microdungeons aren't in there, like... "gardenbridge" or "wall1".
    It's also weird that I have to patch into the biome file when microdungeons are already categorized by biome... But I'll roll with it.

    I am going to try patching my dungeon in there anyway... Im guessing this is the right spot as I want it to be on the surface.

    I can't spawn on the planet now...

    Code:
    Caused by: (DungeonException) Unknown dungeon: 'gardenbridgederelict'
    [0] 7ff63777a213 Star::captureStack
    [1] 7ff637778f9e Star::StarException::StarException
    [2] 7ff637885faa Star::DungeonException::format<Star::String>
    [3] 7ff63788ecca <lambda_475708549715a500cc90681f474fe533>::operator()
    [4] 7ff63788684c Star::LruCacheBase<Star::OrderedMapWrapper<Star::FlatHashMap,Star::String,std::shared_ptr<Star::DungeonDefinition>,Star::BlockAllocator<std::pair<Star::String const ,std::shared_ptr<Star::DungeonDefinition> >,1024>,Star::hash<Star::String,void>,std::equal_to<Star::String> > >::get<<lambda_475708549715a500cc90681f474fe533> >
    [5] 7ff63789a194 Star::DungeonDefinitions::get
    [6] 7ff63788c1d6 Star::DungeonGenerator::DungeonGenerator
    [7] 7ff63792831c Star::MicroDungeonFactory::generate
    [8] 7ff637cadcca Star::WorldGenerator::generateMicroDungeons
    [9] 7ff637d20e20 Star::WorldStorage::generateSectorToLevel
    [10] 7ff637d1f284 Star::WorldStorage::activateSector
    [11] 7ff637d03669 Star::WorldServer::generateRegion
    [12] 7ff637d01fb5 Star::WorldServer::findPlayerStart
    [13] 7ff637d07080 Star::WorldServer::init
    [14] 7ff637cf03c2 Star::WorldServer::WorldServer
    [15] 7ff637c194f3 std::make_shared<Star::WorldServer,std::shared_ptr<Star::WorldTemplate> & __ptr64,std::shared_ptr<Star::File> >
    [16] 7ff637c21d31 <lambda_755fc2d76450663a5bb16a372c158895>::operator()
    [17] 7ff637c0d00f std::_Invoker_functor::_Call<<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [18] 7ff637c140d6 std::invoke<<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [19] 7ff637c0fbf9 std::_Invoke_ret<std::shared_ptr<Star::WorldServerThread>,<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [20] 7ff637c25a16 std::_Func_impl<<lambda_755fc2d76450663a5bb16a372c158895>,std::allocator<int>,std::shared_ptr<Star::WorldServerThread> >::_Do_call
    [21] 7ff637b10677 std::_Func_class<std::shared_ptr<Star::SpawnTypeDatabase> >::operator()
    [22] 7ff637c2200f <lambda_770d99c769b4950d94783c330804382d>::operator()
    [23] 7ff637771ce2 Star::WorkerPool::WorkerThread::run
    [24] 7ff637776d9e Star::ThreadImpl::runThread
    [25] 7ffe79257bd4 BaseThreadInitThunk
    [26] 7ffe7976ce51 RtlUserThreadStart
    [22:15:11.656] [Info] UniverseServer: Warping player 1 to CelestialWorld:-974694898:793175438:88352860:11
    [22:15:11.656] [Info] UniverseServer: Warping player 1 failed, invalid world 'CelestialWorld:-974694898:793175438:88352860:11' or world failed to load
    [22:15:13.674] [Info] UniverseServer: Clearing broken world CelestialWorld:-974694898:793175438:88352860:11
    [22:15:15.792] [Info] UniverseServer: Loading celestial world -974694898:793175438:88352860:11
    [22:15:15.797] [Error] UniverseServer: Could not load celestial world -974694898:793175438:88352860:11, removing! Cause: (VersionedJsonException) VersionedJson identifier mismatch, expected 'WorldMetadata' but got ''
    [22:15:15.799] [Info] UniverseServer: Creating celestial world -974694898:793175438:88352860:11
    [22:15:15.987] [Info] Protected dungeonIds for world set to (65524)
    [22:15:15.987] [Info] Placing dungeon naturalcave
    [22:15:15.987] [Info] Placing dungeon at (995, 675)
    [22:15:16.351] [Warn] Failed to place dungeon object: metalbarrel1 direction: 1 position: (1155, 535)
    [22:15:16.359] [Warn] Failed to place dungeon object: metalbarrel1 direction: 0 position: (1170, 551)
    [22:15:16.375] [Warn] Failed to place dungeon object: metalbarrel1 direction: 0 position: (1221, 562)
    [22:15:16.411] [Warn] Failed to place dungeon object: metalbarrel1 direction: 1 position: (1324, 585)
    [22:15:16.438] [Warn] Failed to place dungeon object: metalbarrel1 direction: 1 position: (1400, 594)
    [22:15:16.461] [Warn] Failed to place dungeon object: oillantern1 direction: 0 position: (1289, 608)
    [22:15:16.462] [Warn] Failed to place dungeon object: metalbarrel1 direction: 1 position: (1012, 611)
    [22:15:16.797] [Info] Placing dungeon gardengate
    [22:15:16.798] [Info] Placing dungeon at (2320, 675)
    [22:15:16.864] [Info] Protected dungeonIds for world set to (1, 65524)
    [22:15:17.310] [Error] UniverseServer: error during world create: (WorldServerException) Exception encountered initializing world
    [0] 7ff63777a213 Star::captureStack
    [1] 7ff637778f9e Star::StarException::StarException
    [2] 7ff637779088 Star::StarException::StarException
    [3] 7ff637cf04e0 Star::WorldServerException::WorldServerException
    [4] 7ff638114a49 `Star::WorldServer::init'::`1'::catch$536
    [5] 7ffe6c731030
    [6] 7ffe6c733328 is_exception_typeof
    [7] 7ffe797a0616 RtlCaptureContext
    [8] 7ff637d07080 Star::WorldServer::init
    [9] 7ff637cf03c2 Star::WorldServer::WorldServer
    [10] 7ff637c194f3 std::make_shared<Star::WorldServer,std::shared_ptr<Star::WorldTemplate> & __ptr64,std::shared_ptr<Star::File> >
    [11] 7ff637c21d31 <lambda_755fc2d76450663a5bb16a372c158895>::operator()
    [12] 7ff637c0d00f std::_Invoker_functor::_Call<<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [13] 7ff637c140d6 std::invoke<<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [14] 7ff637c0fbf9 std::_Invoke_ret<std::shared_ptr<Star::WorldServerThread>,<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [15] 7ff637c25a16 std::_Func_impl<<lambda_755fc2d76450663a5bb16a372c158895>,std::allocator<int>,std::shared_ptr<Star::WorldServerThread> >::_Do_call
    [16] 7ff637b10677 std::_Func_class<std::shared_ptr<Star::SpawnTypeDatabase> >::operator()
    [17] 7ff637c2200f <lambda_770d99c769b4950d94783c330804382d>::operator()
    [18] 7ff637771ce2 Star::WorkerPool::WorkerThread::run
    [19] 7ff637776d9e Star::ThreadImpl::runThread
    [20] 7ffe79257bd4 BaseThreadInitThunk
    [21] 7ffe7976ce51 RtlUserThreadStart
    Caused by: (WorldStorageException) Failed to load sector (4, 23)
    [0] 7ff63777a213 Star::captureStack
    [1] 7ff637778f9e Star::StarException::StarException
    [2] 7ff637779088 Star::StarException::StarException
    [3] 7ff637d1d4b0 Star::WorldStorageException::WorldStorageException
    [4] 7ff638117426 `Star::WorldStorage::activateSector'::`1'::catch$52
    [5] 7ffe6c731030
    [6] 7ffe6c733328 is_exception_typeof
    [7] 7ffe797a0616 RtlCaptureContext
    [8] 7ff637d1f284 Star::WorldStorage::activateSector
    [9] 7ff637d03669 Star::WorldServer::generateRegion
    [10] 7ff637d01fb5 Star::WorldServer::findPlayerStart
    [11] 7ff637d07080 Star::WorldServer::init
    [12] 7ff637cf03c2 Star::WorldServer::WorldServer
    [13] 7ff637c194f3 std::make_shared<Star::WorldServer,std::shared_ptr<Star::WorldTemplate> & __ptr64,std::shared_ptr<Star::File> >
    [14] 7ff637c21d31 <lambda_755fc2d76450663a5bb16a372c158895>::operator()
    [15] 7ff637c0d00f std::_Invoker_functor::_Call<<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [16] 7ff637c140d6 std::invoke<<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [17] 7ff637c0fbf9 std::_Invoke_ret<std::shared_ptr<Star::WorldServerThread>,<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [18] 7ff637c25a16 std::_Func_impl<<lambda_755fc2d76450663a5bb16a372c158895>,std::allocator<int>,std::shared_ptr<Star::WorldServerThread> >::_Do_call
    [19] 7ff637b10677 std::_Func_class<std::shared_ptr<Star::SpawnTypeDatabase> >::operator()
    [20] 7ff637c2200f <lambda_770d99c769b4950d94783c330804382d>::operator()
    [21] 7ff637771ce2 Star::WorkerPool::WorkerThread::run
    [22] 7ff637776d9e Star::ThreadImpl::runThread
    [23] 7ffe79257bd4 BaseThreadInitThunk
    [24] 7ffe7976ce51 RtlUserThreadStart
    Caused by: (DungeonException) Unknown dungeon: 'gardenbridgederelict'
    [0] 7ff63777a213 Star::captureStack
    [1] 7ff637778f9e Star::StarException::StarException
    [2] 7ff637885faa Star::DungeonException::format<Star::String>
    [3] 7ff63788ecca <lambda_475708549715a500cc90681f474fe533>::operator()
    [4] 7ff63788684c Star::LruCacheBase<Star::OrderedMapWrapper<Star::FlatHashMap,Star::String,std::shared_ptr<Star::DungeonDefinition>,Star::BlockAllocator<std::pair<Star::String const ,std::shared_ptr<Star::DungeonDefinition> >,1024>,Star::hash<Star::String,void>,std::equal_to<Star::String> > >::get<<lambda_475708549715a500cc90681f474fe533> >
    [5] 7ff63789a194 Star::DungeonDefinitions::get
    [6] 7ff63788c1d6 Star::DungeonGenerator::DungeonGenerator
    [7] 7ff63792831c Star::MicroDungeonFactory::generate
    [8] 7ff637cadcca Star::WorldGenerator::generateMicroDungeons
    [9] 7ff637d20e20 Star::WorldStorage::generateSectorToLevel
    [10] 7ff637d20d5d Star::WorldStorage::generateSectorToLevel
    [11] 7ff637d1f284 Star::WorldStorage::activateSector
    [12] 7ff637d03669 Star::WorldServer::generateRegion
    [13] 7ff637d01fb5 Star::WorldServer::findPlayerStart
    [14] 7ff637d07080 Star::WorldServer::init
    [15] 7ff637cf03c2 Star::WorldServer::WorldServer
    [16] 7ff637c194f3 std::make_shared<Star::WorldServer,std::shared_ptr<Star::WorldTemplate> & __ptr64,std::shared_ptr<Star::File> >
    [17] 7ff637c21d31 <lambda_755fc2d76450663a5bb16a372c158895>::operator()
    [18] 7ff637c0d00f std::_Invoker_functor::_Call<<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [19] 7ff637c140d6 std::invoke<<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [20] 7ff637c0fbf9 std::_Invoke_ret<std::shared_ptr<Star::WorldServerThread>,<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [21] 7ff637c25a16 std::_Func_impl<<lambda_755fc2d76450663a5bb16a372c158895>,std::allocator<int>,std::shared_ptr<Star::WorldServerThread> >::_Do_call
    [22] 7ff637b10677 std::_Func_class<std::shared_ptr<Star::SpawnTypeDatabase> >::operator()
    [23] 7ff637c2200f <lambda_770d99c769b4950d94783c330804382d>::operator()
    [24] 7ff637771ce2 Star::WorkerPool::WorkerThread::run
    [25] 7ff637776d9e Star::ThreadImpl::runThread
    [26] 7ffe79257bd4 BaseThreadInitThunk
    [27] 7ffe7976ce51 RtlUserThreadStart
    [22:15:17.310] [Info] UniverseServer: Warping player 1 to CelestialWorld:-974694898:793175438:88352860:11
    [22:15:17.310] [Info] UniverseServer: Warping player 1 failed, invalid world 'CelestialWorld:-974694898:793175438:88352860:11' or world failed to load
    [22:15:18.722] [Info] UniverseServer: Clearing broken world CelestialWorld:-974694898:793175438:88352860:11
    Could possibly be that I am using Tiled... like V1.4... and it doesn't like the format I'm exporting, as referenced here:
    https://steamcommunity.com/sharedfiles/filedetails/?id=1660027998

    trying exporting in tiled 1.1 map format.

    Nope, still stuck with unknown dungeon error.
    No matter what I do it's always the same %@#!@ error.


    Garden.biome.patch
    Code:
    [
      {
        "op": "add",
        "path": "/surfacePlaceables/items/-",
        "value": {
          "mode": "floor",
          "priority": 1,
          "variants": 1,
          "distribution": "/biomes/distributions.config:mainBiomeMicrodungeon",
          "type": "microdungeon",
          "microdungeons": [
            "gardenmicrodungeons"
          ]
        }
      }
    ]
    Gardenmicrodungeons.dungeon.patch

    Code:
    [
        {
            "op": "add",
            "path": "/metadata/anchor/31",
            "value": "gardenbridgederelict"
        },
    
    {
      "op": "add",
      "path": "/parts/-",
      "value": 
        {
          "name" : "gardenbridgederelict",
          "rules" : [
            [ "maxSpawnCount", [1] ]
          ],
          "def" : [ "tmx", "gardenbridgederelict.json" ]
        }       
    }
    
    ]
    Other than that my only file is the json with the tilemap...
     
    Last edited: Jun 24, 2020
  8. ImHereForTheMods

    ImHereForTheMods Cosmic Narwhal

    Can't find a proper reference and it just seems to not want to work for no reason.
    I'm now trying a new .dungeon file instead of trying to patch into the garden one. Will let ya'll know if that works.

    (EDIT) Still does not work.

    gardenbiome.patch (at biomes/surface)
    Code:
    [
    {
        "op" : "add",
        "path" : "/surfacePlaceables/items/-",
        "value" : {
            "mode" : "floor",
            "priority" : 1,
            "variants" : 1,
            "distribution" : "/biomes/distributions.config:mainBiomeMicroDungeon",
            "type" : "microdungeon",
            "microdungeons" : [ "testdungeonpack" ]
        }
    }
    ]
    testdungeonpack.dungeon (at dungeons/microdungeons/biomes/garden)

    Code:
    {
        "metadata": {
            "name": "testdungeonpack",
            "species": "generic",
            "rules": [],
            "anchor": ["gardenbridgederelict"],
            "gravity": 80,
            "maxRadius": 200,
            "maxParts": 1,
            "protected": true
        },
        "parts": [{
            "name": "gardenbridgederelict",
            "rules": [
                ["maxSpawnCount", [1]]
            ],
            "def": ["tmx", "gardenbridgederelict.json"]
        }]
    }
    I have tested the patches with jsonlint.com and https://json-schema-validator.herokuapp.com/jsonpatch.jsp and they come back clean, but the log shows new errors and won't let me beam down.

    Errors:
    Code:
    [10:05:01.821] [Error] Exception caught loading asset: /biomes/distributions.config:mainBiomeMicroDungeon, (AssetException) Could not read JSON value /biomes/distributions.config:mainBiomeMicroDungeon
    [0] 7ff63777a213 Star::captureStack
    [1] 7ff637778f9e Star::StarException::StarException
    [2] 7ff637779088 Star::StarException::StarException
    [3] 7ff637788920 Star::AssetException::AssetException
    [4] 7ff638082e72 `Star::Assets::loadJson'::`1'::catch$43
    [5] 7ffe6c731030
    [6] 7ffe6c733328 is_exception_typeof
    [7] 7ffe797a0616 RtlCaptureContext
    [8] 7ff6377945d7 Star::Assets::loadJson
    [9] 7ff6377937e3 Star::Assets::loadAsset
    [10] 7ff63778f76f Star::Assets::doLoad
    [11] 7ff6377918ab Star::Assets::getAsset
    [12] 7ff637793469 Star::Assets::json
    [13] 7ff63780762d Star::BiomeItemDistribution::BiomeItemDistribution
    [14] 7ff6378016c1 Star::BiomeDatabase::readBiomePlaceables
    [15] 7ff6378003b2 Star::BiomeDatabase::createBiome
    [16] 7ff637cc7dff Star::WorldLayout::buildRegion
    [17] 7ff637cc5446 Star::WorldLayout::addLayer
    [18] 7ff637cc2417 <lambda_142ad54d397bcef4bc0d8cb7e876a3e9>::operator()
    [19] 7ff637cc8630 Star::WorldLayout::buildTerrestrialLayout
    [20] 7ff637d2ffd4 Star::WorldTemplate::WorldTemplate
    [21] 7ff637c0c438 std::_Ref_count_obj<Star::WorldTemplate>::_Ref_count_obj<Star::WorldTemplate><Star::CelestialWorldIdWrapper<Star::CelestialCoordinate> const & __ptr64,std::shared_ptr<Star::CelestialMasterDatabase> const & __ptr64>
    [22] 7ff637c19920 std::make_shared<Star::WorldTemplate,Star::CelestialWorldIdWrapper<Star::CelestialCoordinate> const & __ptr64,std::shared_ptr<Star::CelestialMasterDatabase> const & __ptr64>
    [23] 7ff637c21cff <lambda_755fc2d76450663a5bb16a372c158895>::operator()
    [24] 7ff637c0d00f std::_Invoker_functor::_Call<<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [25] 7ff637c140d6 std::invoke<<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [26] 7ff637c0fbf9 std::_Invoke_ret<std::shared_ptr<Star::WorldServerThread>,<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [27] 7ff637c25a16 std::_Func_impl<<lambda_755fc2d76450663a5bb16a372c158895>,std::allocator<int>,std::shared_ptr<Star::WorldServerThread> >::_Do_call
    [28] 7ff637b10677 std::_Func_class<std::shared_ptr<Star::PlantDatabase> >::operator()
    [29] 7ff637c2200f <lambda_770d99c769b4950d94783c330804382d>::operator()
    [30] 7ff637771ce2 Star::WorkerPool::WorkerThread::run
    [31] 7ff637776d9e Star::ThreadImpl::runThread
    [32] 7ffe79257bd4 BaseThreadInitThunk
    [33] 7ffe7976ce51 RtlUserThreadStart
    Caused by: (TraversalException) No such key 'mainBiomeMicroDungeon' in pathGet("mainBiomeMicroDungeon")
    [0] 7ff63777a213 Star::captureStack
    [1] 7ff637778f9e Star::StarException::StarException
    [2] 7ff637717afb Star::JsonPath::TraversalException::TraversalException
    [3] 7ff637714876 Star::JsonPath::TraversalException::format<Star::String,Star::String>
    [4] 7ff6377162a2 Star::JsonPath::pathGet<Star::Json>
    [5] 7ff637721009 Star::Json::query
    [6] 7ff6377945d7 Star::Assets::loadJson
    [7] 7ff6377937e3 Star::Assets::loadAsset
    [8] 7ff63778f76f Star::Assets::doLoad
    [9] 7ff6377918ab Star::Assets::getAsset
    [10] 7ff637793469 Star::Assets::json
    [11] 7ff63780762d Star::BiomeItemDistribution::BiomeItemDistribution
    [12] 7ff6378016c1 Star::BiomeDatabase::readBiomePlaceables
    [13] 7ff6378003b2 Star::BiomeDatabase::createBiome
    [14] 7ff637cc7dff Star::WorldLayout::buildRegion
    [15] 7ff637cc5446 Star::WorldLayout::addLayer
    [16] 7ff637cc2417 <lambda_142ad54d397bcef4bc0d8cb7e876a3e9>::operator()
    [17] 7ff637cc8630 Star::WorldLayout::buildTerrestrialLayout
    [18] 7ff637d2ffd4 Star::WorldTemplate::WorldTemplate
    [19] 7ff637c0c438 std::_Ref_count_obj<Star::WorldTemplate>::_Ref_count_obj<Star::WorldTemplate><Star::CelestialWorldIdWrapper<Star::CelestialCoordinate> const & __ptr64,std::shared_ptr<Star::CelestialMasterDatabase> const & __ptr64>
    [20] 7ff637c19920 std::make_shared<Star::WorldTemplate,Star::CelestialWorldIdWrapper<Star::CelestialCoordinate> const & __ptr64,std::shared_ptr<Star::CelestialMasterDatabase> const & __ptr64>
    [21] 7ff637c21cff <lambda_755fc2d76450663a5bb16a372c158895>::operator()
    [22] 7ff637c0d00f std::_Invoker_functor::_Call<<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [23] 7ff637c140d6 std::invoke<<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [24] 7ff637c0fbf9 std::_Invoke_ret<std::shared_ptr<Star::WorldServerThread>,<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [25] 7ff637c25a16 std::_Func_impl<<lambda_755fc2d76450663a5bb16a372c158895>,std::allocator<int>,std::shared_ptr<Star::WorldServerThread> >::_Do_call
    [26] 7ff637b10677 std::_Func_class<std::shared_ptr<Star::PlantDatabase> >::operator()
    [27] 7ff637c2200f <lambda_770d99c769b4950d94783c330804382d>::operator()
    [28] 7ff637771ce2 Star::WorkerPool::WorkerThread::run
    [29] 7ff637776d9e Star::ThreadImpl::runThread
    [30] 7ffe79257bd4 BaseThreadInitThunk
    [31] 7ffe7976ce51 RtlUserThreadStart
    [10:05:01.910] [Error] UniverseServer: error during world create: (BiomeException) Failed to parse biome: 'garden'
    [0] 7ff63777a213 Star::captureStack
    [1] 7ff637778f9e Star::StarException::StarException
    [2] 7ff637779088 Star::StarException::StarException
    [3] 7ff6377fe240 Star::BiomeException::BiomeException
    [4] 7ff63808e691 `Star::BiomeDatabase::createBiome'::`1'::catch$389
    [5] 7ffe6c731030
    [6] 7ffe6c733328 is_exception_typeof
    [7] 7ffe797a0616 RtlCaptureContext
    [8] 7ff6378003b2 Star::BiomeDatabase::createBiome
    [9] 7ff637cc7dff Star::WorldLayout::buildRegion
    [10] 7ff637cc5446 Star::WorldLayout::addLayer
    [11] 7ff637cc2417 <lambda_142ad54d397bcef4bc0d8cb7e876a3e9>::operator()
    [12] 7ff637cc8630 Star::WorldLayout::buildTerrestrialLayout
    [13] 7ff637d2ffd4 Star::WorldTemplate::WorldTemplate
    [14] 7ff637c0c438 std::_Ref_count_obj<Star::WorldTemplate>::_Ref_count_obj<Star::WorldTemplate><Star::CelestialWorldIdWrapper<Star::CelestialCoordinate> const & __ptr64,std::shared_ptr<Star::CelestialMasterDatabase> const & __ptr64>
    [15] 7ff637c19920 std::make_shared<Star::WorldTemplate,Star::CelestialWorldIdWrapper<Star::CelestialCoordinate> const & __ptr64,std::shared_ptr<Star::CelestialMasterDatabase> const & __ptr64>
    [16] 7ff637c21cff <lambda_755fc2d76450663a5bb16a372c158895>::operator()
    [17] 7ff637c0d00f std::_Invoker_functor::_Call<<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [18] 7ff637c140d6 std::invoke<<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [19] 7ff637c0fbf9 std::_Invoke_ret<std::shared_ptr<Star::WorldServerThread>,<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [20] 7ff637c25a16 std::_Func_impl<<lambda_755fc2d76450663a5bb16a372c158895>,std::allocator<int>,std::shared_ptr<Star::WorldServerThread> >::_Do_call
    [21] 7ff637b10677 std::_Func_class<std::shared_ptr<Star::PlantDatabase> >::operator()
    [22] 7ff637c2200f <lambda_770d99c769b4950d94783c330804382d>::operator()
    [23] 7ff637771ce2 Star::WorkerPool::WorkerThread::run
    [24] 7ff637776d9e Star::ThreadImpl::runThread
    [25] 7ffe79257bd4 BaseThreadInitThunk
    [26] 7ffe7976ce51 RtlUserThreadStart
    Caused by: (AssetException) Error loading asset /biomes/distributions.config:mainBiomeMicroDungeon
    [0] 7ff63777a213 Star::captureStack
    [1] 7ff637778f9e Star::StarException::StarException
    [2] 7ff6377851ca Star::AssetException::format<Star::AssetPath>
    [3] 7ff637791972 Star::Assets::getAsset
    [4] 7ff637793469 Star::Assets::json
    [5] 7ff63780762d Star::BiomeItemDistribution::BiomeItemDistribution
    [6] 7ff6378016c1 Star::BiomeDatabase::readBiomePlaceables
    [7] 7ff6378003b2 Star::BiomeDatabase::createBiome
    [8] 7ff637cc7dff Star::WorldLayout::buildRegion
    [9] 7ff637cc5446 Star::WorldLayout::addLayer
    [10] 7ff637cc2417 <lambda_142ad54d397bcef4bc0d8cb7e876a3e9>::operator()
    [11] 7ff637cc8630 Star::WorldLayout::buildTerrestrialLayout
    [12] 7ff637d2ffd4 Star::WorldTemplate::WorldTemplate
    [13] 7ff637c0c438 std::_Ref_count_obj<Star::WorldTemplate>::_Ref_count_obj<Star::WorldTemplate><Star::CelestialWorldIdWrapper<Star::CelestialCoordinate> const & __ptr64,std::shared_ptr<Star::CelestialMasterDatabase> const & __ptr64>
    [14] 7ff637c19920 std::make_shared<Star::WorldTemplate,Star::CelestialWorldIdWrapper<Star::CelestialCoordinate> const & __ptr64,std::shared_ptr<Star::CelestialMasterDatabase> const & __ptr64>
    [15] 7ff637c21cff <lambda_755fc2d76450663a5bb16a372c158895>::operator()
    [16] 7ff637c0d00f std::_Invoker_functor::_Call<<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [17] 7ff637c140d6 std::invoke<<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [18] 7ff637c0fbf9 std::_Invoke_ret<std::shared_ptr<Star::WorldServerThread>,<lambda_755fc2d76450663a5bb16a372c158895> & __ptr64>
    [19] 7ff637c25a16 std::_Func_impl<<lambda_755fc2d76450663a5bb16a372c158895>,std::allocator<int>,std::shared_ptr<Star::WorldServerThread> >::_Do_call
    [20] 7ff637b10677 std::_Func_class<std::shared_ptr<Star::PlantDatabase> >::operator()
    [21] 7ff637c2200f <lambda_770d99c769b4950d94783c330804382d>::operator()
    [22] 7ff637771ce2 Star::WorkerPool::WorkerThread::run
    [23] 7ff637776d9e Star::ThreadImpl::runThread
    [24] 7ffe79257bd4 BaseThreadInitThunk
    [25] 7ffe7976ce51 RtlUserThreadStart
    I am at a complete loss here as no matter what I do it just doesn't work. So bloody frustrating. Should be so simple, it's only three files...
     
    Last edited: Jun 24, 2020
  9. ImHereForTheMods

    ImHereForTheMods Cosmic Narwhal

    Okay so it finally works somehow.... I redid the biome patch file and now it's a horrifically long mess of a patch, but somehow it works....
    [​IMG]

    My horrific patch file: (If anyone knows how to make one that is less horrific please let me know.

    Code:
    [
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/17/objectSets/0/parameters/startingStage",
            "value": 4
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/17/objectSets/0/pool/0/1",
            "value": "wildriceseed"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/16/objectSets/0/pool/0/1",
            "value": "wildcornseed"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/15/objectSets/0/pool/0/1",
            "value": "wildpearlpeaseed"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/14/objectSets/0/parameters/startingStage",
            "value": 3
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/14/objectSets/0/pool/0/1",
            "value": "wildwheatseed"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/13/objectSets/0/parameters/startingStage",
            "value": 4
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/13/objectSets/0/pool/0/1",
            "value": "wildcottonseed"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/12/objectSets"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/12/type",
            "value": "bush"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/12/distribution",
            "value": "/biomes/distributions.config:rareClumpySmall"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/12/priority",
            "value": 2
        },
        {
            "op": "add",
            "path": "/surfacePlaceables/items/12/bushes",
            "value": [
                {
                    "name": "testbush",
                    "baseHueShiftMax": 40,
                    "modHueShiftMax": 180
                }
            ]
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/11/bushes"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/11/type",
            "value": "object"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/11/priority",
            "value": 1
        },
        {
            "op": "add",
            "path": "/surfacePlaceables/items/11/objectSets",
            "value": [
                {
                    "pool": [
                        [
                            0.35,
                            "flowerred"
                        ],
                        [
                            0.35,
                            "flowerblue"
                        ],
                        [
                            0.35,
                            "floweryellow"
                        ]
                    ],
                    "parameters": {
                        "startingStage": 2
                    }
                }
            ]
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/10/objectSets"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/10/type",
            "value": "grass"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/10/distribution",
            "value": "/biomes/distributions.config:scatteredLarge"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/10/priority",
            "value": 3
        },
        {
            "op": "add",
            "path": "/surfacePlaceables/items/10/period",
            "value": 5
        },
        {
            "op": "add",
            "path": "/surfacePlaceables/items/10/grasses",
            "value": [
                "testflower",
                "testflower2",
                "testflower3",
                "testflower4",
                "testflower5",
                "testflower6",
                "testflower7"
            ]
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/9/grasses"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/9/type",
            "value": "tree"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/9/distribution",
            "value": "/biomes/distributions.config:denseMedium"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/9/period"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/9/priority",
            "value": 2
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/9/mode",
            "value": "ceiling"
        },
        {
            "op": "add",
            "path": "/surfacePlaceables/items/9/treeFoliageHueShiftMax",
            "value": 180
        },
        {
            "op": "add",
            "path": "/surfacePlaceables/items/9/treeStemHueShiftMax",
            "value": 180
        },
        {
            "op": "add",
            "path": "/surfacePlaceables/items/9/treeStemList",
            "value": [
                "vine",
                "vine2",
                "vine3",
                "vine4"
            ]
        },
        {
            "op": "add",
            "path": "/surfacePlaceables/items/9/treeFoliageList",
            "value": [
                "flowery",
                "starry",
                "dreamy"
            ]
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/8/treeFoliageList/2"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/8/treeFoliageList/1"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/8/treeFoliageList/0",
            "value": "pinefoliage"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/8/treeStemList/3"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/8/treeStemList/2"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/8/treeStemList/1"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/8/treeStemList/0",
            "value": "pineytree"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/8/treeStemHueShiftMax",
            "value": 15
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/8/treeFoliageHueShiftMax",
            "value": 40
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/8/distribution",
            "value": "/biomes/distributions.config:scatteredLarge"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/8/mode",
            "value": "floor"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/7/treeFoliageList"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/7/treeStemList"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/7/treeStemHueShiftMax"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/7/treeFoliageHueShiftMax"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/7/type",
            "value": "grass"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/7/distribution",
            "value": "/biomes/distributions.config:denseSmall"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/7/priority",
            "value": 3
        },
        {
            "op": "add",
            "path": "/surfacePlaceables/items/7/grasses",
            "value": [
                "grass"
            ]
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/6/grasses"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/6/type",
            "value": "microdungeon"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/6/distribution",
            "value": "/biomes/distributions.config:tiyDist"
        },
        {
            "op": "add",
            "path": "/surfacePlaceables/items/6/microdungeons",
            "value": [
                "block1platforms",
                "loops",
                "spiralspikes",
                "blocks",
                "stripeblocks",
                "blockpile",
                "reversepyramids",
                "flats",
                "spikes",
                "rods",
                "wiggles",
                "rockyshapes",
                "layeredspire",
                "blank",
                "none"
            ]
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/5/microdungeons/14"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/5/microdungeons/13"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/5/microdungeons/12"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/5/microdungeons/11"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/5/microdungeons/10"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/5/microdungeons/9"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/5/microdungeons/8"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/5/microdungeons/7"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/5/microdungeons/6"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/5/microdungeons/5"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/5/microdungeons/4"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/5/microdungeons/3"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/5/microdungeons/2"
        },
        {
            "op": "remove",
            "path": "/surfacePlaceables/items/5/microdungeons/1"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/5/microdungeons/0",
            "value": "testdungeonpack"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/5/distribution",
            "value": "/biomes/distributions.config:mainBiomeMicrodungeon"
        },
        {
            "op": "replace",
            "path": "/surfacePlaceables/items/5/priority",
            "value": 1
        },
        {
            "op": "add",
            "path": "/surfacePlaceables/items/18",
            "value": {
                "mode": "floor",
                "priority": 1,
                "variants": 1,
                "distribution": "/biomes/distributions.config:surfaceCrops",
                "type": "object",
                "objectSets": [
                    {
                        "pool": [
                            [
                                1,
                                "wildpotatoseed"
                            ]
                        ],
                        "parameters": {
                            "startingStage": 3
                        }
                    }
                ]
            }
        }
    ]
    For those with the same problem, I had to place the new dungeons under the surface placeables section of the biome file.
    Edit: I don't know what the heck is going on here, but now this patch works, and I'm fairly certain it is the same as my last one....

    Code:
    [
      {
        "op": "add",
        "path": "/surfacePlaceables/items/-",
        "value": {
          "mode": "floor",
          "priority": 50,
          "variants": 1,
          "distribution": "/biomes/distributions.config:mainBiomeMicrodungeon",
          "type": "microdungeon",
          "microdungeons": [
            "testdungeonpack"
          ]
        }
      }
    ]
    
    
    
    Edit: Apparently I had messed up brackets.... Thanks all...
     
    Last edited: Jun 24, 2020
  10. projectmayhem

    projectmayhem Spaceman Spiff

    So sorry , I ve been at work. Glad you got it working! Shout if you need anything else
     
    ImHereForTheMods likes this.
  11. ImHereForTheMods

    ImHereForTheMods Cosmic Narwhal

    No problem, I tend to figure things out, after enough struggling.
    Thanks for the help.
     

Share This Page