ChoiceTheorem's Overhauled Village

ChoiceTheorem's Overhauled Village

13M Downloads

Does not respect waystone setting to not spawn in villages

johalun opened this issue · 12 comments

commented

Describe the bug
We have disabled waystones from generating in villages, but they still do in CTOV villages.

To Reproduce
set spawnInVillages = false and forceSpawnInVillages = false in waystone config
load up a new world
find waystones generating in ctov villages

Expected behaviour
there should not be any waystones generating

Minecraft Version
1.20.1

CTOV Version
ctov-forge-3.4.3

Add-ons used (Before 1.20)

Do you install Lithostitched?(1.20+)
Yes

commented

Never, mind figured out how to disable them using a datapack.

commented

Is there a workaround we can add to kubejs or similar to prevent waystones from generating?

commented

How did you use a datapack to disable it?

commented

I created a datapack that overrides each of the waystone json files. Each with this content (but with normal/mossy/sand changing). I'm using kubejs but that's not required (hence the path being kubejs/data).

{
    "name": "ctov:village/common/waystone/mossy",
    "fallback": "minecraft:empty",
    "elements": []
}

There are 6 json files in total.

 kubejs/data/ctov
 └── worldgen
    └── template_pool
       └── village
          ├── common
          │  └── waystone
          │     ├── mossy.json
          │     ├── normal.json
          │     └── sand.json
          └── waystone
             ├── mossy.json
             ├── normal.json
             └── sand.json
commented

CTOV waystone spawning is independent of waystone's setting. You solved your problems yourself already!

commented

No I didn't solve the problem, I found a workaround. CTOV should still respect waystone settings, alternatively have its own waystone config option to disable it IMHO.

commented

I created a datapack that overrides each of the waystone json files. Each with this content (but with normal/mossy/sand changing). I'm using kubejs but that's not required (hence the path being kubejs/data).

{
    "name": "ctov:village/common/waystone/mossy",
    "fallback": "minecraft:empty",
    "elements": []
}

There are 6 json files in total.

 kubejs/data/ctov
 └── worldgen
    └── template_pool
       └── village
          ├── common
          │  └── waystone
          │     ├── mossy.json
          │     ├── normal.json
          │     └── sand.json
          └── waystone
             ├── mossy.json
             ├── normal.json
             └── sand.json

Hey, I tried creating this datapack but couldn't get it to work. Could you link it somewhere? :)

commented

Thank you SO MUCH! It works! You're a godsend man :)

commented

Yeah that solution broke when updating the mod. My new solution is to create files to override each file in data/ctov/lithostitched/worldgen_modifier/waystone/ and set the elements field to an empty array.

For example

data/ctov (main) » cat lithostitched/worldgen_modifier/waystone/beach.json                                                                                                                                                                                              {
	"type": "lithostitched:add_template_pool_elements",
	"predicate": {
		"type": "lithostitched:all_of",
			"predicates": [
			{
				"type": "lithostitched:mod_loaded",
				"mod_id": "waystones"
			}
		]
	},
	"template_pool": "ctov:village/beach/house",
	"elements": [
	]
}

Unpack the CTOV jar file and confirm where the waystone related files are. You might need this new solution.

commented

Unpack the CTOV jar file and confirm where the waystone related files are. You might need this new solution.

Yikes, that's a little out of my level of expertise! Is there any way that you could upload the folder somewhere so we can just drag and drop? I know of a couple of people who would love to have something like this!

commented

I don't have a stand-alone datapack, but I can share the files to drop into KubeJS's folder if you have that mod.

commented

https://www.dropbox.com/scl/fi/1ekxcby1evgxwmpdum8zu/ctov-no-waystones.zip?rlkey=ic2n6vp4frxgzjdtik4rdofy1&dl=0

Extract the contents of this zip to your kubejs/data/ folder. If you don't have KubeJS and need it as a datapack, there are guides on how to that. I think you just need to add some meta files and zip it up again.