ChoiceTheorem's Overhauled Village

ChoiceTheorem's Overhauled Village

30M Downloads

[BUG] CTOV villages and Vanilla villages can overlap

Hati- opened this issue ยท 3 comments

commented

Describe the bug
The villages from CTOV can overlap with Vanilla villages.

To Reproduce
Install CTOV and look look around for overlapping villages.

Alternatively go to https://map.jacobsjo.eu/ and upload the modpack and show structure positions, then look for villages being very close to eachother.
I've made a basic datapack that easily shows the spawns of both CTOV and Vanilla villages for use on that website: CTOV_vs_Vanilla_Villages.zip

Emeralds are Vanilla villages and Apples are CTOV villages:
image

Expected behaviour
Villages are villages and they shouldn't be too close or overlap each-other just like in vanilla Minecraft. CTOV Villages should be spaced away from vanilla villages.

Screenshots
Using the MiniHUD mod to show structure bounding boxes. Green boxes are Vanilla villages and red boxes are CTOV villages.

Seed: 8122880761972265217 | Position: 88 130 91
2024-04-02_12 56 02

Seed: 8122880761972265217 | Position: -2857 100 -2012
2024-04-02_12 57 10

Seed: 8122880761972265217 | Position: 1637 96 2506
2024-04-02_12 58 56

And this is the worst possible scenario; The CTOV village is spawning on the exact same chunk as a Vanilla village!
Seed: 1668420055860896102 | Position: -3822 153 373
2024-04-02_14 08 30

Minecraft Version
1.20.1

CTOV Version
3.4.2

Add-ons used
Mod Loader: Quilt Loader 0.24.0

  • qfapi-7.5.0_qsl-6.1.2_fapi-0.91.0_mc-1.20.1.jar
  • minihud-fabric-1.20.1-0.27.0.jar
  • malilib-fabric-1.20.1-0.16.3.jar
  • BBOutlineReloaded-2.6-1.20.1-fabric.jar
  • wits-1.1.0+1.20.1-fabric.jar
  • ctov-3.4.2.jar

Log
N / A

Additional context
This issue stems from you separating the CTOV's village structure_set away from Vanilla's village structure_set in commit 6af4fab . This will cause the two different kind of villages to generate independently from each-other with no spacing between.
This commit was also the cause for issue #112, because you didn't change the placement parameters in structure_set/pillager_outposts.json, but even if you did there would still be a chance for the outposts to be too close or overlap.

I personally think you should put the village and outposts back into Vanilla's structure_set.

commented

I noticed you're reconstructing the mod from being a simply datapack into being a mod with mixins code. Maybe look at https://github.com/MaxenceDC/sparsestructures on how they're modifying structure_set and use that to programmatically add the CTOV structures into minecraft/worldgen/structure_set/villages.json? That way this mod would be compatible with mods/datapacks that also adds villages through minecraft's structure_set.

commented

I see you're using the lithostitched library to add Croptopia compatibility.
Maybe use that library to add the new CTOV structures to minecraft/worldgen/structure_set/villages.json and minecraft/worldgen/structure_set/pillager_outposts.json?
https://github.com/Apollounknowndev/lithostitched/wiki/Worldgen-Modifiers#add_structure_set_entries

Making sure the villages has the correct weight might be problematic though. You'll have to remove_structures_from_structure_set then add_structures_from_structure_set Vanilla villages, or code your own lithostitched modifier, to make sure the Vanilla villages has the correct weight relative to CTOV villages.

commented

Fixed for CTOV 3.4.5