A downloadable mod

Generative Design in Minecraft:

This project is an entry for the GDMC competition. It challenges competitors to create a settlement generator for Minecraft by writing a filter for MCEdit.

More information available at the official website. You can also check the Github repository for the project here.

How to run?

Move the whole repository folder into the MCEdit's stock-filters folder, select a portion of chunks of the map and apply the filter urbanSettlementGenerator.

Objectives for ProcJam:

I would like to have feedback on 2 of the latest additions to the project: the lit path and the garden area for the houses.

Also, if you have any ideas on things you think could be interesting to add to a settlement generator, please tell me!

1) Lit path

After choosing the lots in which the houses and building are going to be placed, these lots are connected by a path fund with an A* algorithm. The idea was to put lights along the path so that it can be enlightened during the night.

To do so, the path is separated into different block section of 20 blocks, the center of mass of these blocks is computed and the result is the best position where the light could be put. If this position is not valid (in a building lot, on water, etc...), the surrounding of the position is checked to see if a valid position is available near. If it's not the case, the light will be put on a neighboring position next to the middle of the section, or directly on the path if no position is valid.


Screenshot 1
Lights on a path from above

Screenshot 2

Example of a path with lights on it

Screenshot 3

Comparison night/day


Screenshot 4

Screenshot 5

Screenshot 6

Screenshot 7

I've seen 2 recurring problems, sometimes, the lights are built very close or even next to each other, I think it's because each section of the entire path is independent (screenshot 4, 5, 6).

And sometimes, the light is blocking the path of the player (screenshot 7).

2) Garden area

To put buildings on the map, interesting areas are flattened so that we can put buildings on them. Since the size of each house is randomized, the lot in which the house is built can be bigger a lot than the house itself.

When that happens, a garden area is built next to the house so that the lot feels less empty. To do so, the space between the 3 sides of the house without a door and the end of the lot are compared so that the main side of the garden is built on the side with the most space. Then, an random point is chosen on an other side of the house, this point is linked with fences to the farthest point of the first side chosen, via the endpoints of the building lot.


Screenshot 8

House with a big garden area
Screenshot 9
House with a small garden area
Screenshot 10
On the left: house small enough to have a garden, On the right: house too big to have a garden

Next step: 

Since all the endpoints of the garden are known, it would be possible to put things inside the garden like flowers, pumpkins, or anything else to make it less bland.

Thanks for paying attention to my project.

Install instructions

MCEdit is needed, find it here.

Move the whole repository folder into the MCEdit's stock-filters folder, select a portion of chunks of the map and call the urbanSettlementGenerator file.


UrbanSettlementGenerator.rar 74 kB

Leave a comment

Log in with itch.io to leave a comment.