Skip to main content

Blockersets

Based on game build 714014 | Last updated: 2026-02-27

Overview

blockersets.lua is a static data module that defines groupings of entity prefabs used as natural and structured environmental obstacles during world generation. It organizes blockers into categories based on threat level (easy/hard), creature type (e.g., spiders, bees, hounds), terrain biomes (e.g., forest, marsh, rocky), and special seasonal variants. These sets are consumed by map generation systems to determine which prefabs can appear as placed obstacles in specific contexts.

The component is not an ECS component—it is a plain Lua table (sets) exported at module load time and referenced directly via require("map/blockersets"). It has no runtime entity association, no component instantiation, and no event system.

Usage example

local blockersets = require("map/blockersets")

-- Select an appropriate set for forest difficulty
local forest_blockers = math.random() > 0.5 and blockersets.forest_easy or blockersets.forest_hard

-- Pick a random blocker from the chosen set
local random_blocker = forest_blockers[ math.random(#forest_blockers) ]
-- random_blocker now holds a string like "SpiderfieldEasyA" or "PigGuardpost"

Dependencies & tags

Components used: None
Tags: None identified.

Properties

PropertyTypeDefault ValueDescription
sets.walls_easytable<string>{"DenseRocks", "InsanityWall"}Wall prefabs suitable for low-difficulty placement.
sets.walls_hardtable<string>{"SanityWall"}Wall prefabs suitable for high-difficulty placement.
sets.all_wallstable<string>Union of walls_easy and walls_hardCombined wall blockers.
sets.chess_easytable<string>{}No chess-field blockers in easy mode.
sets.chess_hardtable<string>{"Chessfield","ChessfieldA","ChessfieldB","ChessfieldC"}Hard-mode chess-field blocker prefabs.
sets.all_chesstable<string>Union of chess_easy and chess_hardAll chess-field blockers.
sets.tallbirds_easytable<string>{"TallbirdfieldSmallA","Tallbirdfield"}Easy-mode tallbird field blockers.
sets.tallbirds_hardtable<string>{"TallbirdfieldA","TallbirdfieldB"}Hard-mode tallbird field blockers.
sets.all_tallbirdstable<string>Union of tallbirds_easy and tallbirds_hardAll tallbird blockers.
sets.spiders_easytable<string>{"SpiderfieldEasy","SpiderfieldEasyA","SpiderfieldEasyB"}Easy-mode spider field blockers.
sets.spiders_hardtable<string>{"Spiderfield","SpiderfieldA","SpiderfieldB","SpiderfieldC"}Hard-mode spider field blockers.
sets.all_spiderstable<string>Union of spiders_easy and spiders_hardAll spider blockers.
sets.bees_easytable<string>{"Waspnests"}Easy-mode wasp nest blockers.
sets.bees_hardtable<string>{}No hard-mode bee/wasp blockers defined.
sets.all_beestable<string>Union of bees_easy and bees_hardAll bee/wasp blockers.
sets.pigs_easytable<string>{"PigGuardpostEasy"}Easy-mode pig guardpost blockers.
sets.pigs_hardtable<string>{"PigGuardpost","PigGuardpostB"}Hard-mode pig guardpost blockers.
sets.all_pigstable<string>Union of pigs_easy and pigs_hardAll pig-related blockers.
sets.tentacles_easytable<string>{"TentaclelandSmallA"}Easy-mode tentacle field blockers.
sets.tentacles_hardtable<string>{"TentaclelandA","Tentacleland"}Hard-mode tentacle field blockers.
sets.all_tentaclestable<string>Union of tentacles_easy and tentacles_hardAll tentacle blockers.
sets.merms_easytable<string>{}No easy-mode merm blockers defined.
sets.merms_hardtable<string>{"Mermfield"}Hard-mode merm blockers.
sets.all_mermstable<string>Union of merms_easy and merms_hardAll merm blockers.
sets.hounds_easytable<string>{}No easy-mode hound blockers defined.
sets.hounds_hardtable<string>{"Moundfield"}Hard-mode hound mound blockers.
sets.all_houndstable<string>Union of hounds_easy and hounds_hardAll hound blockers.
sets.forest_easytable<string>Union of spiders_easy and pigs_easyForest-specific easy blockers.
sets.forest_hardtable<string>Union of spiders_hard and pigs_hardForest-specific hard blockers.
sets.all_foresttable<string>Union of forest_easy and forest_hardAll forest blockers.
sets.rocky_easytable<string>Union of tallbirds_easy, pigs_easy, and hounds_easyRocky terrain easy blockers.
sets.rocky_hardtable<string>Union of tallbirds_hard, pigs_hard, and hounds_hardRocky terrain hard blockers.
sets.all_rockytable<string>Union of rocky_easy and rocky_hardAll rocky terrain blockers.
sets.grass_easytable<string>Union of bees_easy and pigs_easyGrass terrain easy blockers.
sets.grass_hardtable<string>Union of bees_hard and pigs_hardGrass terrain hard blockers.
sets.all_grasstable<string>Union of grass_easy and grass_hardAll grass terrain blockers.
sets.marsh_easytable<string>Union of tentacles_easy and merms_easyMarsh terrain easy blockers.
sets.marsh_hardtable<string>Union of tentacles_hard and merms_hardMarsh terrain hard blockers.
sets.all_marshtable<string>Union of marsh_easy and marsh_hardAll marsh terrain blockers.
sets.winter_hardtable<string>{"Deerclopsfield","Walrusfield"}Special winter hard-mode blockers.
sets.all_easytable<string>Union of pigs_easy, spiders_easy, tallbirds_easy, chess_easy, tentacles_easy, walls_hardCombined easy-mode blockers across all categories.
sets.all_hardtable<string>Union of pigs_hard, spiders_hard, tallbirds_hard, chess_hard, tentacles_hard, walls_hardCombined hard-mode blockers across all categories.
sets.alltable<string>Union of all_easy and all_hardGeneric catch-all set excluding seasonal/special cases.
sets.all_hard_wintertable<string>Union of all_hard and winter_hardHard-mode blockers including special winter content.

Main functions

There are no callable functions in this module. It exports only static data tables.

Events & listeners

None. This module is data-only and does not participate in the event system.