Findbase and dungeons

  • I'm curious about how the findbase command is going to work when we get the dungeons update. since findbase works by locating concentrations of blocks and construction objects, will this command results be saturated with dugeon locations as well as player built locations?


    I know I posted or asked Red51 about possibly making ownership of objects (if that is even a thing yet) for dungeon objects different from player placed objects so that way a dungeon cannot be scrapped for materials or maybe in this case not be detectable by the findbase command.


    So I'm just leaving this out here for others to speculate over or perhaps we will get an official response. :)

  • Hmm yeah the dungeons will be indeed a problem for the "findbase" command, since dungeons just consist of regular blocks, construction elements, objects etc. Although dungeons never consist of very much blocks or construction elements per chunk, so unless you just had a small base, I guess it's still possible to find it with the "findbase" command.
    Nevertheless, I guess it makes sense to modify the findbase command a little bit, so you can look for certain objects, for example.


    But something like " ownership" of objects is planned, this would be quite useful for stuff like the AreaProtection script/plugin, for example

  • Well, a chunk is not as tall as the world, right? Maybe a chunk value "hasDungeon" can be set in each chunk where a dungeon is generated into. Findbase can ignore those chunks. I figure the dungeon is going to be subtracting stone anways for each chunk it exists in as the world generates so maybe that can be set and then be viewable by the API. Although I cannot imagine what we would need it in the API for. Perhaps someone will write a script to teleport a player to a random dungeon entrance. Maybe other flag such as "hasDungeonEntrance" would be useful for a dungeon perimeter containing a door.

  • Well, a chunk is not as tall as the world, right?

    Indeed, a chunks consists of 16x64x16 (xyz) blocks, the world consists of 19 chunks (vertically)


    Maybe a chunk value "hasDungeon" can be set in each chunk where a dungeon is generated into

    Yes, that would work, however, it would be necessary to convert existing worlds (since current databases don't take such a flag into account yet), and I really want to avoid world conversions if possible (since there is always a chance that something may go wrong) :D I'm not sure if the "findbase" command is really worth the effort...
    However, if someone decides to setup his base in a dungeon (or maybe in an abandoned cabin in the woods, which is also considered as a "dungeon"), the "findbase" command would be unable to find it if we really use a "hasDungeon" flag :|


    I figure the dungeon is going to be subtracting stone anways for each chunk it exists in as the world generates so maybe that can be set and then be viewable by the API

    Yes, at least underground dungeons. But what do you mean exactly with "can be set and be viewable by the API"?

  • Indeed, a chunks consists of 16x64x16 (xyz) blocks, the world consists of 19 chunks (vertically)

    Yes, that would work, however, it would be necessary to convert existing worlds (since current databases don't take such a flag into account yet), and I really want to avoid world conversions if possible (since there is always a chance that something may go wrong) :D I'm not sure if the "findbase" command is really worth the effort...However, if someone decides to setup his base in a dungeon (or maybe in an abandoned cabin in the woods, which is also considered as a "dungeon"), the "findbase" command would be unable to find it if we really use a "hasDungeon" flag :|


    Yes, at least underground dungeons. But what do you mean exactly with "can be set and be viewable by the API"?

    I realize that dungeons will probably not generate in known chunks so if a dungeon generates in a new area then the world generator could set those extra values in a chunk database at the time that chunk is created. Otherwise the values would not be in the pre-existing chunks. I personally do not see a reason to convert a chunk to add a value that is always going to be set to false since the dungeon will never exist in a converted chunk. Null can can carry the same meaning as False in this case.


    The values if set are exposed through the API for some future plugin use. perhaps a map can use it to indicate entrances for a generated structure. perhaps for the sake of the findbase command the extra flags do not help and object ownership is the way to go. but I feel that the two flags might be useful in the future to be added to the API.


    That is what I was trying to convey.

  • also, thankyou for confirming the height of a chunk. that actually brings up a concern I brought up in another thread about biomes needing to have height limits. for example, ina desert biome, sandstone is still present downward all the way till you hit hell. Infact, Hell does not register as a Biome but as the same biome above ground (e.g a pleasant mixed forest biome at a pleasant 22 celcius). If we treat hell as a biome and perhaps other additional underworld areas as biomes (such as the giant geode idea I suggested earlier this year or my recent idea of underground NPC dwarf village (if you want to make villages a biome in itself) then biomes have to have a upper and lower limit. perhaps any surface biome end at around y=0. then between there and hell is just the underground where other biome types can exist if not normal rock and tunnels.


    I guess this might be a point to consider when the world generation and the biomes are redesigned (I think Arctic referred to it as the biomes being like continents in the ocean). So I am just throwing the idea out there incase you missed my suggestion at that time.


    The original thread I posted was titled "underground dwarf cities" which has my ideas about vertical limitations of biomes.


    Underground dwarf cities

Participate now!

Don’t have an account yet? Create a new account now and be part of our community!