Schematics

Index of useful info


Schematics

Schematics are a VERY ADVANCED way to control what generates in worlds generated by CityWorld. Specifically they are prebuilt structures that CityWorld will use instead of its procedurally generated buildings.

Please note: Schematic support REQUIRES WorldEdit v5.4.2. It might work in later versions but I can't test something that doesn't exist yet.

One more note: CityWorld's schematic support is very much a work in progress. I have tested the best I can and it should work but it is very hard to fully validate everything works.

Schematics are created via tools like...

When CityWorld needs to generate a new area it will look in a series of folders to find the schematics that make sense for the new area. The first folder that CityWorld looks for is one called "Schematics for " + the world name. So if your world is called "The City" then CityWorld will look for "Schematics for The City". Within that folder CityWorld will look for a folder that based on the type area being generated, some of these include HighRise, Park, Farm, Neighborhood, etc. Now that CityWorld has found the collection of schematics that will be used to augment the procedural based constructs, it loads/caches all of the schematics.

If the schematics hasn't been seen by CityWorld it will automatically generate a YML file for the schematic. This YML file describes various options for the schematics. For example, you can tell CityWorld that it is ok to flip around the schematics when pasting it. Also you can specify how far into the ground the schematics will "sink" into the ground (allowing you to create basements). If you decide to play around with the YML file or add new schematics then you will need to delete and regenerate the world. This last step is unavoidable, sorry but this will is a side effect of Random.

I realize that this all sounds confusing but I did mention that this was a VERY ADVANCED topic!

The good news all those crazy folders and YML files will be auto-generated when you generate your world (but only those needed by the worlds in use).

Overly simplified steps for setting up your world

  1. Install CityWorld, WorldEdit and your favorite multi-world manager plugins on your server and start up it up
  2. Start up the MineCraft client and log into your server
  3. Create your new world with your favorite multi-world manager plugin (CityWorld will auto-create all those folders mentioned above)
  4. Exit MineCraft and shut down your server
  5. Copy over your schematics to the right Plugin/CityWorld sub-folders (see above description as to what folder you want to copy into, I have also listed the potential folders below along with why they exists)
  6. Delete the world data files (all the ones in the world folder itself)
  7. Restart your server, if everything goes ok your multi-world manager should auto-recreate the world but now with your schematics. While it is doing this those YML files will be generated along side your schematics. (keep an eye on the server console for hints, warnings and errors from CityWorld)
  8. Explore your world, if you notice issues like schematics that are up to high or too low you may need to adjust those schematics' YML files.

Note: Remember if you add new schematics or adjust existing schematics' YML files, you will likely need to delete the world and have it regenerated.

F.A.Q.

How big can my schematics be?

  • Right now the largest schematic supported by CityWorld is 64 by 64 blocks (4 by 4 chunks). The height isn't limited per say but it does have to fit into the world so don't go too crazy.

How do I create schematics?

  • I recommend reading this page. It documents how to create schematics in WorldEdit.

Do my schematics have to be exactly an even chunk wide/long?

  • No, CityWorld will round up the schematic size to the next even chunk, and then center within that area. CityWorld will then fill the surrounding area with the schematic's origin block (0, 0, 0) to give it a nice border, think sidewalk. If you use the GroundLevelY option then the Y location of the block used will be (0, GroundLevelY, 0).

Sometimes my schematics are down at ground level and sometimes they are sitting right above it, why?

  • If your schematic's origin block matches the surface block type (Grass in a Normal world) then the schematic will be placed at ground level. If the origin block doesn't match it then CityWorld will assume that it is supposed to be sitting on top of the ground, thus up one block. If this isn't what you want then simply set GroundLevelY to 1 and the schematic will be pushed down a single block into the ground.

I added new schematics and now strange things (like half generated buildings) are happening.

  • Please delete your world's data files and allow it to regenerate.

I added new schematics and now I am getting error messages in the server console complaining about their sizes.

  • Most CityWorld areas support schematics up to 4 by 4 chunk wide, if it finds schematics that are too big CityWorld will report the problem in the server console.

I changed a YML on one of the schematics, now strange things are happening.

  • Please delete your world's data files and allow it to regenerate.

Why don't the schematics show up in my world?

  • The default "likelyhood" of a schematic showing up is around 20% per 10 by 10 chunk area. You will need to adjust the schematic's YML file if you want to increase those odds.

Why are signs (paintings, doors, etc.) are facing the wrong way, what happened?

  • The WorldEdit schematic flip code seems to have a problem flipping certain blocks (like signs and paintings). I am still pondering a solution.

My torches (paintings, etc.) aren't sticking to the walls.

  • When pasting the torch block the block it is attached to isn't created yet. I need to rework the generation logic to place the torches (and similar blocks) during a second pass. Alas the second pass logic will still have issues with torches that need to attached to blocks from other chunks. I am still pondering a solution.

I have set my schematic's OddsOfAppearance to 1.0 but it still doesn't show up enough.

  • Schematics only show once per 10x10 chunks areas. If you want to make it show up multiple times per 10x10 chunk areas, simply make copies of the schematic file/YML and put the same folder

I want the schematic to show up in more than one type of area, how do I do that?

  • Simply place copies of your schematic in the other area folders.

How do I tell where my schematics will show up?

  • Due to the random nature of CityWorld I can't tell you where your schematic will show up until it is placed. You can use the BroadcastLocation option in the schematic YML to have it's location echoed to the server console.

Why can't I place my schematic at...

  • Right now CityWorld can't replace roads, tunnels, bridges, underground mines, bunkers, mountain shacks, mountain castles, radio towers, drilling platforms, floating houses, etc. Sorry maybe next time. :-)

My really tall schematic doesn't seem to work, how can I fix it?

  • In a word, make it shorter. In a normal world the ground is near 64 y-wise. That give you room for buildings that are 190 or so blocks high. Floating worlds place their buildings a little higher so your schematics will need to be accordingly shorter.

I don't see my question here, why not?

  • I can't answer questions I haven't seen or thought of. Sorry :-(

My schematic is already decayed, please to trash it even more!

  • v2.02 added Decayable property to the YML that makes it possible for a particular schematic to not be directly decayed. There may still be come collateral damage due to near by chunks getting decayed.

YML options

Each schematic will have a YML file associated with it. You don't have to create these files, they are auto-generated when CityWorld sees an unaccompanied schematic. This file tells CityWorld details that aren't contained in the schematic file. Remember, if you change a YML file you will likely need to regenerate the world that uses it.

  • GroundLevelY - vertical position of schematic's ground level. If your "basement" is 10 blocks high, then set this to 10. Defaults to 0.
  • FlipableX - schematic can be flipped along it's X axis. Defaults to false.
  • FlipableZ - schematic can be flipped along it's Z axis. Defaults to false.
  • OddsOfAppearance - schematic's odds of showing up in a single 10x10 chunk area. Setting this to 1.0 will make the schematics show up once per 10x10 chunk area. Defaults to 0.20 (20% of the time)
  • BroadcastLocation - when the schematic is placed in the world, its location will be echoed to the server console. Defaults to false.
  • Decayable - when a schematic is placed in the world, allow it to be decayed if IncludeDecayedBuildings is true. Defaults to true.

Folders used

Within the Plugins/CityWorld folder a number of folders will be created when a world is generated by CityWorld. Your schematics should be placed within the Area Type folders. If you world is called "DoomLand", the Area Type folders will be in the "Plugins/CityWorld/Schematics for DoomLand" folder.

Area types

  • Construction - this area tends to show up between highrise/parks and midrise areas
  • Farm - this area tends to show up out at the edges of cities
  • Nature - this area shows up where ever constructs don't show up (sorry, as of v2.02 this type does not insert schematics)
  • Highrise - this area tends to show up in the center of cities
  • Industrial - this areas tends to show up between municipal and lowrise areas
  • Lowrise - this area tends to show up outside of industrial areas
  • Midrise - this area tends to show up between construction and municipal areas
  • Municipal - this area tends to show up between midrise and industrial areas
  • Neighborhood - this area tends to show up near farm and lowrise areas
  • Park - there is a 12% chance of this area showing up instead of highrise
  • Roundabout - these schematics show up in the center of road roundabouts. Unlike the other areas, these schematics are limited to a single chunk (16 by 16 blocks).

Comments

Posts Quoted:
Reply
Clear All Quotes