Blocks & Scoring¶
Scoring works in two stages. First, each recognized block contributes its weight to the voxel chunk (16 x 16 x 16 area) it belongs to, producing a per-chunk civilization score. Then, all chunk scores within the detection range are aggregated into a final score for the spawn point being evaluated. Unrecognized blocks contribute nothing.
Weight framework¶
Block weights follow a progression based on crafting complexity and symbolic significance:
| Era | Weight range | Examples |
|---|---|---|
| Stone Age | 0.2-0.3 | Crafting table, furnace, chest, farmland, barrel |
| Iron Age | 0.4-0.5 | Lanterns, workstations, campfires, lecterns |
| Advanced | 0.6-1.0 | Beds, anvils, shulker boxes, brewing stands, sea lanterns |
| Mythic | 2.0-5.0 | Respawn anchors, enchanting tables, beacons, conduits |
Blocks that emit light or have magical properties receive additional weight within their era.
Vanilla block weights¶
| Block | Weight | Block | Weight | |
|---|---|---|---|---|
| Beacon | 5.0 | Lantern | 0.4 | |
| Conduit | 5.0 | Soul Lantern | 0.4 | |
| Respawn Anchor | 2.0 | Trapped Chest | 0.4 | |
| Enchanting Table | 1.5 | Crafting Table | 0.3 | |
| Lodestone | 1.5 | Furnace | 0.3 | |
| Brewing Stand | 1.0 | Chest | 0.3 | |
| Sea Lantern | 1.0 | Barrel | 0.3 | |
| Bell | 0.8 | Farmland | 0.3 | |
| Ender Chest | 0.8 | Composter | 0.3 | |
| Beds (all types) | 0.7 | Beehive | 0.3 | |
| Redstone Lamp | 0.7 | Decorated Pot | 0.3 | |
| Anvils (all types) | 0.6 | Bee Nest | 0.2 | |
| Shulker Boxes (all) | 0.6 | |||
| Campfires (all types) | 0.5 | |||
| Stonecutter | 0.5 | |||
| Cartography Table | 0.5 | |||
| Smithing Table | 0.5 | |||
| Fletching Table | 0.5 | |||
| Loom | 0.5 | |||
| Grindstone | 0.5 | |||
| Blast Furnace | 0.5 | |||
| Smoker | 0.5 | |||
| Lectern | 0.5 | |||
| End Rod | 0.5 |
Entries marked "all types" use block tags — all variants share the same weight.
Tier tags for modpacks¶
Civillis also ships a tag-based weight file, data/civil/civil_blocks/default_tags.json. Pack authors can add blocks to these tags instead of writing one weight row per block:
| Tag | Weight |
|---|---|
#civil:very_very_high_civilized |
5.0 |
#civil:very_high_civilized |
3.0 |
#civil:high_civilized |
2.0 |
#civil:medium_high_civilized |
1.5 |
#civil:medium_civilized |
1.0 |
#civil:medium_low_civilized |
0.7 |
#civil:low_civilized |
0.5 |
#civil:very_low_civilized |
0.3 |
#civil:very_very_low_civilized |
0.2 |
Example: add a modded workstation to #civil:medium_civilized, or a landmark block to #civil:high_civilized, and Civillis will apply the matching weight automatically.
Mod compatibility (built-in weights)¶
Civillis ships civil_blocks JSON for Create, Farmer's Delight, Supplementaries, Quark, Applied Energistics 2, Storage Drawers, Iron Chests, Sophisticated Storage, Functional Storage, plus vanilla defaults and the tier tags above. If a mod is not installed, its rows are skipped — no errors, no runtime cost.
Full ID -> weight tables, zone/dimension/head defaults, and file paths: Built-in Compatibility (expandable sections per source). Regenerate block tables after JSON changes with python tools/gen_wiki_compatibility.py.
Data-driven¶
All block weights are loaded from JSON data files and can be fully overridden via datapacks. See Data-Driven Registries for details on adding custom blocks or using tags.
In-game configuration¶
Scoring-related parameters are adjustable via the in-game GUI (requires Mod Menu + Cloth Config):
| Setting | Range | Default | What it controls |
|---|---|---|---|
| Civilization Strength | 1-10 | 5 | Adjusts both spawn thresholds together — higher values make it easier to reach full protection. |
| Max. Civilization Radius | 112-496 blocks | 240 blocks | Size of the area evaluated around each spawn point. |
Advanced: civil.properties
Raw parameters can also be edited in config/civil.properties, but this is intended for advanced users only. If things break, delete civil.properties and restart — the mod will regenerate it with defaults.