Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
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
- Build the structure normally.
- Run:
/vr disable_spawner - Place the basic_villager_spawner and the recruit block.
- 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<String> 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


