Procedural generation of virtual worlds is a promising alternative to classical manual modelling approaches, which usually require a large amount of effort and expertise. However, it suffers from a number of issues; most importantly, the lack of user control over the generation process and its outcome. Because of this, the result of a procedural method is highly unpredictable, rendering it almost unusable for virtual world designers. This paper focuses on providing user control to deliver an outcome consistent with designer's intent. For this, we introduce semantic constraints, a flexible concept to express high-level designer's intent in intuitive terms as e.g. line of sight. Our constraint evaluation method is capable of detecting the context in which such a constraint is specified, automatically adapting to surrounding features of the virtual world. From experiments performed within our prototype modelling system, we can conclude that semantic constraints are another step forward in making procedural generation of virtual worlds more controllable and accessible to non-specialist designers.