
Structurized Reborn
Structurized Reborn is a reworked version of the original Structurized mod by Draylar. This library significantly simplifies the process of adding custom structures to Minecraft villages.
Jigsaw System Modification
The library provides a convenient registry that allows integrating custom constructions into existing structure pools used in villages. For example, to add the structure village/plains/houses/plains_small_house_1
to the desert village house pool, a simple registration is sufficient:
FabricStructurePoolRegistry.register(
Identifier("minecraft:village/desert/houses"), // target structure pool
Identifier("minecraft:village/plains/houses/plains_small_house_1"), // structure to add
2, // structure weight in pool
StructureProcessorLists.MOSSIFY_10_PERCENT) // optional processor
For simpler cases, a simplified registration method is available:
FabricStructurePoolRegistry.registerSimple(
Identifier("minecraft:village/desert/houses"), // target pool
Identifier("minecraft:village/plains/houses/plains_small_house_1"), // new structure
2) // weight
Flexible Registration Options
The registration method offers extensive customization possibilities with several optional parameters. While the simplified method is sufficient in most cases, the main registration method allows applying additional effects, such as adding mossy cobblestone characteristic of many village buildings.
Main parameters:
poolId
: target structure pool identifierstructureId
: identifier of the structure to addweight
: probability of structure selection during generation (1-3 approximately corresponds to one structure per village)processor
: optional processor for applying special effectsprojection
: method of structure interaction with landscapetype
: type of structure pool element
Advanced Registration via Callback
For more complex scenarios, direct connection to the callback function can be used:
StructurePoolAddCallback.EVENT.register(structurePool -> {
if(structurePool.getUnderlying().getId().toString().equals("minecraft:village/plains/houses")) {
structurePool.addStructurePoolElement(new SinglePoolElement("village/desert/houses/desert_small_house_1"), 50);
}
});
Adding Dependency
To connect the library to your project, use the Modrinth repository. Replace {VERSION}
with the current version of the library.
In build.gradle:
repositories {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
content {
includeGroup "maven.modrinth"
}
}
}
dependencies {
modImplementation "maven.modrinth:Wd844r7Q:{VERSION}"
include("maven.modrinth:Wd844r7Q:{VERSION}")
}
In build.gradle.kts:
repositories {
maven {
name = "Modrinth"
url = uri("https://api.modrinth.com/maven")
content {
includeGroup("maven.modrinth")
}
}
}
dependencies {
modImplementation("maven.modrinth:Wd844r7Q:{VERSION}")
include("maven.modrinth:Wd844r7Q:{VERSION}")
}