Villager Recruits: Village Expansion

Villager Recruits: Village Expansion

Addon for Recruits that introduces autonomous villages with their own center, faction, roles, and internal logic. Settlements organize themselves, manage recruits, and function as self‑sustaining communities without player intervention.

by
53 Downloads
forgeadventuremobs
Rent Server with this Mod

Screenshots

Main image

About this Mod

Recruits: Village Expansion – Addon for Recruits

Recruits: Village Expansion is an addon for Recruits that introduces a fully autonomous village system. Each settlement has its own center, faction, and internal logic, allowing villages to function as living communities capable of organizing themselves, growing, and defending their territory without player involvement.

Villages created by this addon are not static structures: they are active entities that manage recruits, assign roles, maintain their identity, and react to world events. Each village can expand, build functional structures, establish territory, and maintain internal balance between civilians, soldiers, and resources.

The goal is to turn villages into autonomous factions, consistent and believable, interacting dynamically with the world and the player. The result is a more alive, emergent, and strategic experience that integrates seamlessly with Recruits.

NEW UPDATE – Create Your Own Buildings as an Addon(because i'm a bad builder)

Replace the Tower – Instructions

Village Recruits Addon – Technical Requirements

1. Addon Requirements

  • Must be a Forge 1.20.1 mod.
  • Must include Village Recruits as a dependency.
  • Must register structures using the TowerAPI.
  • Must provide .nbt structure files inside:
    src/main/resources/data/<your_modid>/structures/

2. Required Blocks Inside Every Structure

  • Recruit Block: must be placed exactly at the center.
  • basic_villager_spawner: must be placed inside the structure.

These blocks are required for NPC spawning, faction creation, and structure activation. If missing, the structure will not function correctly.

3. Before Saving / Placing Villager Spawner

  1. Build the structure normally.
  2. Run: /vr disable_spawner
  3. Place the basic_villager_spawner and the recruit block.
  4. Save the structure using a Structure Block.

If you forget to disable the spawner, it will activate and disappear, and will not be saved.

4. Structure Size Limits

  • Max recommended size: 11×11 (X/Z)
  • Ideal size: 9×9

Larger structures may be destroyed by other generated buildings.

5. Registering Structures in Your Addon

@Mod("your_addon_id")
public class YourAddon {

    public YourAddon() {

        ResourceLocation PLAINS = ResourceLocation.fromNamespaceAndPath("minecraft", "plains");
        ResourceLocation DESERT = ResourceLocation.fromNamespaceAndPath("minecraft", "desert");
        ResourceLocation JUNGLE = ResourceLocation.fromNamespaceAndPath("minecraft", "jungle");

        // Tower in desert and plains
        TowerAPI.addForBiome(
            DESERT,
            ResourceLocation.fromNamespaceAndPath("your_addon_id", "your_tower"),
            10
        );

        TowerAPI.addForBiome(
            PLAINS,
            ResourceLocation.fromNamespaceAndPath("your_addon_id", "your_tower"),
            10
        );

        // Barracks in plains and jungle
        TowerAPI.addForBiome(
            PLAINS,
            ResourceLocation.fromNamespaceAndPath("your_addon_id", "your_barracks"),
            3
        );

        TowerAPI.addForBiome(
            JUNGLE,
            ResourceLocation.fromNamespaceAndPath("your_addon_id", "your_barracks"),
            3
        );
    }
}
  

6. Structure File Placement

Place your .nbt files here:

src/main/resources/data/<your_modid>/structures/

Example:

  • data/recruits_testaddon/structures/barracks.nbt
  • data/recruits_testaddon/structures/desert_tower.nbt

Change Automatically Generated Buildings

Override Village Buildings
package com.example.recruits_testaddon;

import com.example.villagerecruits.api.StructureOverrideAPI;
import net.minecraft.resources.ResourceLocation;
import net.minecraftforge.fml.common.Mod;

public class AddUserVillageStructures {

    public AddUserVillageStructures() {

        ResourceLocation SMALL_HOUSE = ResourceLocation.fromNamespaceAndPath(
            "recruits_testaddon", "small_house"
        );

        ResourceLocation BLACKSMITH = ResourceLocation.fromNamespaceAndPath(
            "recruits_testaddon", "blacksmith"
        );

        ResourceLocation WATCHTOWER = ResourceLocation.fromNamespaceAndPath(
            "recruits_testaddon", "watchtower"
        );

        StructureOverrideAPI.addHouse("plains", SMALL_HOUSE);
        StructureOverrideAPI.addHouse("plains", BLACKSMITH);

        StructureOverrideAPI.addWork("taiga", WATCHTOWER);

        StructureOverrideAPI.addHouse("meadow", SMALL_HOUSE);
        StructureOverrideAPI.addWork("meadow", BLACKSMITH);

        System.out.println("[Recruits Test Addon] Custom user structures added.");
    }
}
  

Removing vanilla buildings:

@Mod("recruits_testaddon")
public class ReplaceAllVillageStructures {

    public ReplaceAllVillageStructures() {

        ResourceLocation SMALL_HOUSE = ResourceLocation.fromNamespaceAndPath("recruits_testaddon", "small_house");
        ResourceLocation BLACKSMITH = ResourceLocation.fromNamespaceAndPath("recruits_testaddon", "blacksmith");
        ResourceLocation WATCHTOWER = ResourceLocation.fromNamespaceAndPath("recruits_testaddon", "watchtower");

        List biomes = List.of(
            "plains", "sunflower_plains", "desert", "savanna", "taiga", "snowy",
            "meadow", "forest", "birch_forest", "old_growth_birch_forest",
            "cherry_grove", "swamp", "mangrove_swamp", "badlands",
            "wooded_badlands", "eroded_badlands", "windswept_hills",
            "windswept_forest"
        );

        for (String biome : biomes) {

            StructureOverrideAPI.replaceHouses(
                biome,
                List.of(SMALL_HOUSE, BLACKSMITH, WATCHTOWER)
            );

            StructureOverrideAPI.replaceWork(
                biome,
                List.of(SMALL_HOUSE, BLACKSMITH, WATCHTOWER)
            );
        }

        System.out.println("[Recruits Test Addon] All vanilla structures replaced.");
    }
}
  

Note: These structures must NOT contain a normal recruit block (unlike tower replacements).


Coming Next Update

Diplomacy and war, automatic expansion, attacks, battles, and hirable promoted entities.

Compatible Mods

ewewukek's Musket Mod gives muskets to crossbowmen, increasing their spawn rate.

Upcoming Features

  • Diplomacy and War
  • Automatic faction expansion
  • More advanced structure building
  • Balancing improvements

Recommended Optimization Mods

  • Let Me Despawn
  • Radium Reforged
  • Almanac Lib
  • Embeddium
  • ServerCore
  • ModernFix
  • Entity Culling
  • FerriteCore

Available Versions

Villager Recruits: Village Expansion 1.0.addonsrelease
MC 1.20.1forge
June 5, 2026

How to Install Villager Recruits: Village Expansion on Your Server

1

Order Server

Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).

2

Set forge Loader

In the panel under "Egg", select the forge loader and matching Minecraft version (1.20.1).

3

Install Mod

Open the mod browser in the dashboard and search for "Villager Recruits: Village Expansion". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.

Compatibility

Mod Loaders

forge

Minecraft Versions

1.20.1

Server-side

Required

Recommended RAM

4 GB(min. 3 GB)

Frequently Asked Questions

Villager Recruits: Village Expansion server crashes on startup – what to do?

Most common cause: wrong forge version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.20.1). You can switch loaders with one click in the panel.

Is Villager Recruits: Village Expansion compatible with forge?

Villager Recruits: Village Expansion officially supports forge for Minecraft 1.20.1. The Mado dashboard automatically detects incompatible loader combinations.

Server lagging with Villager Recruits: Village Expansion – how to optimize performance?

Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Villager Recruits: Village Expansion consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.

Rent Modded Server

Install Villager Recruits: Village Expansion with just one click on your server.

Recommended RAM
4 GBab €8/mo
Min. 3 GB | +1 GB pro 8 Spieler
Create Server Now
1-Click Mod Install
NVMe SSD Storage
DDoS Protection included

Details

License
LicenseRef-All-Rights-Reserved
Server-side
Required

Supported Versions

1.20.1