#World Generation General
1 messages · Page 10 of 1
is anyone having problems placing tall grass with features?
Nope.
How are you doing it?
single block feature.
You need 2, for bottom and top.
Why?
then how else would I do it?
Two single block like i aaid.
Check how vanilla uses it.
I did.
{
"format_version": "1.13.0",
"minecraft:single_block_feature": {
"description": {
"identifier": "minecraft:tall_grass_feature"
},
"places_block": {
"name": "minecraft:tallgrass",
"states": {
"tall_grass_type": "tall"
}
},
"enforce_survivability_rules": true,
"enforce_placement_rules": false,
"may_replace": [
"minecraft:air"
]
}
}
its a single block feature.
and its outdated
You're not checking correctly.
{
"format_version": "1.21.100",
"minecraft:single_block_feature": {
"description": {
"identifier": "biota:marsh_short_grass_feature"
},
"places_block": {
"name": "minecraft:tall_grass",
"states": {
"upper_block_bit": false
}
},
"enforce_survivability_rules": true,
"enforce_placement_rules": false,
"may_replace": [
"minecraft:air"
]
}
}
Features can reference other features, so check what references this feature and go all the way until you hit a feature rule
works with short grass.
Short grass is just 1 block.
I know, Im just saying its not like its spawning rarely.
i already did this, my feature rule is identical to the vanilla ones.
Clearly not.
alright man
Because you would discover that it references aggregate features and scatter features to place the single block.
and im using a scatter feature....
And did you use a sequence or aggregate feature?
why would that make it not place tall grass if I dont.
I cant find the vanilla features that use that for tall grass
How are you searching?
Why does the tower not generate sometimes?
I am making an outpost like structure, the base uses terrain matching projection, but it has structure blocks inside that generate rigid structures. Sometimes the tower doesn't want to spawn tho.
It’s just kinda how that works Ig
My custom outposts do that pretty rarely
I figured it out, thanks for the help.
You can try increasing the bounding box of the parent structure to encompass the child structure.
I want to try and do that, but when I increase the bottom of the bounding box the structures starts floating because I’m using terrain alignment
Show me your pool
And why do you leave a gap at the bottom of such a structure?
Because one of the inside structures is like a mine, maybe I’m misunderstanding how I’m supposed to generate the structure tho
I’ll show the pools once I get home
here are the six pools as a start for the structure
this is "outpost base top" and "post_connecter1"
outpost base bottom
here is "post_tower" and "tower_top". They're both in the same structure
and here is the bottom of the tower
post connecter connects to the tower btw
here are the pool files
"format_version": "1.21.110",
"minecraft:template_pool": {
"description": {
"identifier": "paf:obb"
},
"elements": [
{
"element": {
"element_type": "minecraft:single_pool_element",
"location": "marrowed_outpost/outpostbasebottom",
"projection": "terrain_matching"
},
"weight": 1
}
]
}
}```
{
"format_version": "1.21.110",
"minecraft:template_pool": {
"description": {
"identifier": "paf:obt"
},
"elements": [
{
"element": {
"element_type": "minecraft:single_pool_element",
"location": "marrowed_outpost/outpostbase",
"projection": "terrain_matching"
},
"weight": 1
}
]
}
}```
"format_version": "1.21.110",
"minecraft:template_pool": {
"description": {
"identifier": "paf:pc1"
},
"elements": [
{
"element": {
"element_type": "minecraft:single_pool_element",
"location": "marrowed_outpost/outpostbase",
"projection": "terrain_matching"
},
"weight": 1
}
]
}
}```
"format_version": "1.21.110",
"minecraft:template_pool": {
"description": {
"identifier": "paf:pt"
},
"elements": [
{
"element": {
"element_type": "minecraft:single_pool_element",
"location": "marrowed_outpost/outposttower",
"projection": "rigid"
},
"weight": 1
}
]
}
}```
"format_version": "1.21.110",
"minecraft:template_pool": {
"description": {
"identifier": "paf:tb"
},
"elements": [
{
"element": {
"element_type": "minecraft:single_pool_element",
"location": "marrowed_outpost/towerbottom",
"projection": "terrain_matching"
},
"weight": 1
}
]
}
}```
"format_version": "1.21.110",
"minecraft:template_pool": {
"description": {
"identifier": "paf:tt"
},
"elements": [
{
"element": {
"element_type": "minecraft:single_pool_element",
"location": "marrowed_outpost/outposttower",
"projection": "rigid"
},
"weight": 1
}
]
}
}```
six pools in total
it's a lot
sorry 😭
I've been struggling with this structure for almost 2 weeks now
Okay I am so sorry to bother you, but did you get this figured out? I am currently experiencing this problem.
DM me, I’ll show you what I got working as soon as I get home from work.
Awesome thank you so much
Dynamic features and feature rules would be great.
Is there any way to modify the value returned by a Molang variable or query that would be accessible within the scope of features or feature rules?
Such as causing the value of a hardcoded variable accessible to features/feature rules to change, through changing something else about the world. These variables are not really documented, though I have a list of them. Obviously v.worldx etc is one of them.
Elaborate. What are you trying to achieve?
Pretty sure the wiki documents them.
Are you referring to Block Conditions for Features? That wouldn't work for this I don't think, as I'd want to modify the feature/rules globally, such as noise parameters or cutoff.
I'd like the addon user to be able to modify a setting to choose between different ways a feature is placed. Or for some other kind of in-game condition to occur so that new chunks are loaded with the new feature setting. Perhaps the way the feature is placed would make the terrain or resource more challenging or rare based on a global condition change.
Obviously there are behaviour subpacks but was hoping for something more dynamic.
I was referring to the variables. As for your dilemma however it isn't feasible unless you decide to run your entire world generation via scripting.
Would you mind giving me a pointer to where this is? I have been searching for more information about Molang variables and it's possible I have missed it.
I'm very unclear on scope or hardcoded variables, for instance.
I still haven't found documentation I fully understand on v.worldx vs v.originx for instance. I've started testing by subtracting one from the other and using it as a y-level modifier and so far seems to be 0.
I guess not. But I'm quite confused what you mean really.
Origin is from the origin starting from 0 not world coords.
Hence the name.
They're self explanatory. The Wiki does need an update.
No, the world.
Which part of the world?
Origin of where the feature is placed - but in what coordinate frame? Relative or absolute?
So originx is just an offset from the start of a chunk? Has values 0 to 15?
No not chunk.
Wherever the feature is placed.
So wherever the feature is placed in the world, originx = 0 would refer to that specific point?
Yes.
Right! Thankyou. So I'm guessing q.noise with originx as a parameter would give the same local noise mapping for the same feature in different areas of the world, since the input x and z would be the same and the world seed would be the same.
Yes. At that point though just query 0,0
Much code I've seen uses originx and originz though with noise which is confusing. Such as the Heightmap Noise page on the wiki.
That should have been world but eh.
Maybe that's why it wasn't working for me. Thanks.
how do i add loot to chest in jigsaw structures?
You can edit the structure file using the loot tabler app on mcbe-essentials
To create randomized loot for your structure, you will need to download NBT Studio. This method can only be done on a PC.
https://wiki.bedrock.dev/loot/randomized-structure-loot.html
Or that ^
thought so, nobody ever told me
thx
After this new update, has anyone had their custom biomes not show up at all?
Which version?
I'm currently in version 1.21.114 so stable.
Nvm, found out that the biome files has to have the version 1.21.110, only then will the biomes appear.
Experimenting with replacing all blocks in a chunk with air in the final_pass (or whatever pass) and it's not very final. Left with seemingly randomly placed water and flowing_water blocks over what would probably have been be ocean floor, plus some leaf blocks, sculk, mineshaft wooden platforms...
Anyone have any experience with this? Know if there's anything you can do about it?
If leaf blocks from trees aren't getting replaced with an air block feature, does this mean other features that would replace trees aren't getting placed correctly?
I don't know about jigsaws yet except that they might not be subject to the same bugs. Jigsaws of air?
^looking straight down to the void in the overworld
One message removed from a suspended account.
This is a very common issue a lot of us are struggling with. Mineshafts cannot be fully replaced/overriden, and I’m not sure why the random water spots stay. I know there is a vanilla ‘springs’ feature you can override that helps but doesn’t completely fix this. And also you do still end up with the stray leaf blocks, vines, glow lichen, and things that for some reason are just stubborn.
Hmm. Thanks.
I found a list of vanilla feature and feature rule identifiers in the samples pack when doing a fulltext search, I had no idea they were there. In metadata/command_modules/mojang-commands.json
Many of the vanilla feature and feature rule files can be found in the application directory on PC, or in the BDS .zip, in data/definitions/ as well as some of the vanilla structures in .nbt format.
I'm trying to place lava in a biome but it appears as static lava
Lava and Flowing Lava (assuming you've tried the latter) blocks have the liquid_depth block state you can set that modifies how it spreads/falls.
https://minecraft.fandom.com/wiki/Lava
https://learn.microsoft.com/en-us/minecraft/creator/reference/content/vanillalistingsreference/blocks
I did what it says but it seems the block still remains static
Unfortunately there isn't a way to make them flow since the block hasn't received a tick to update.
Loading the chunk does not necessarily make the blocks tick?
okay another question, I cant do q.above_top_solid(v.originx + 48, v.originz), the structure dissapear, why? a value of 47 or less works fine
is this a bedrock limitation?
don’t use origin here
use world
also why are you offsetting the x position here? its gonna generate entirely buried occasionally or possibly flying if you do this
what values return?
Its part of a big structure, I need to get to same height as the main piece, I can solve the flying part using custom blocks
instead of basing off of the origin of the world, it bases offsets off of the world
if you use origin, structures may appear in WILDLY different and unintentional ways
(this includes entirely underground, remember: the origin is 0, 0, 0)
hmm but that is not happening to me, my problem is that the limit offset for this query is 3 chunks, so an offset of 48 or more break the generation, the structure stop generating, using worldx and worldz fix this?
just tried, nop, Im having the same problem
When generating a 48×48 structure that spans 3×3 chunks, is there a chance that one of those chunks might regenerate after reloading the world, causing parts of the structure to go missing?
weird, i thought that only affected the regular x and z coords
not the x and z related to y
q.above_top_solid(v.originx + 45, v.originz + 45) + 4
its not possible to do this? it seems is not working
you can edit the feature rules that distribute the trees.
yeah, try editing those.
What to change
try making everything 0.
Oh ok both?
yes.
or you could make a single block feature that places air, and make these 2 feature rule files place that feature.
Can I dm
To what i need to change
i just said iterations
it’s in the feature rules
however youll need to call a custom feature
within the vanilla feature rule file
because you can’t call the vanilla tree feature files anymore
youre disabling trees, no?
also looking at that second file it looks like you modified the wrong one LMAO
foliage is for flowers and grass
That name is Minecraft's feature rule name
the feature rule on the right is foliage
not trees
why are you putting a custom tree feature in the foliage rules?
It's minecraft's dark forest feature rule
yes, for GRASS
the name straight up says what its for 😭
Then how to make the vanilla tress not spawn and make mine spawn
the one on the left specifically calls out trees 😭
I don't english very much
What does this mean
Oh i understand now
Now what to do
Bro?
all you need to do
is use the vanilla tree feature rules
and call your custom feature with it
don’t change the feature rule identifier
change the places_feature to your custom one
I didn't so much but i will try with what you told
note that Iterations tells the game how many features to place in the area you specify with distribution rules
scatter chance is the chance to place any of the features per chunk
Oh ok thanks but there's only 1 r
Feature rule for roofed
yh i think they removed it from the default instance
if you don’t happen to have files from a 1.19 game version youll have to find someone who has it
it’s probably better to just change what feature rules are called in the biome file itself if you can
Oh ok i will try that
Can anyone tell me the name of dark forest tree feature rule pls
It didn't work
Has anyone noticed this issue with the client biome colors?
It's an issue with grass in general. Their sides dont get tinted.
Awesome!
Should I put in a bug report?
There already is a bug report, I cannot remember what it is but I know @last ermine has it.
i believe you can solve this editing the terrain texture file for the grass_side texture and adding in the color that matches the biome color
That's no use, it doesn't change the color
hmm, it worked for me
terrain slab
That is so cursed.
everythings in my addon is cursed
🙂
but it look good on the overall theme and context of the addon
the terrain now look like it from other games
Really? Could you show some pictures? I tried the same thing and it didn’t work.
WTF??
"grass_side" : {
"textures" : [
{
"overlay_color" : "#2eabf9",
"path" : "textures/blocks/grass_side"
},
]
},
Did you only modify the terrain_texture file
yeah
Wtf?
Did you enable any other experiments or modify any other files?
I tried the same thing, but it didn’t work for me.
i have upcoming creator features enabled but other than that not as far as i know
If it’s not too much to ask, could you send the terrain_texture file you’re using?
the file is pretty big and messy since i just copied the grass_side part into an existing addon but ill send the whole grass_side part (actually it still might be too long)
did you keep every other vanilla color defined in the file
cus i did that
Yeah
Are you using custom biomes? And did you just download the vanilla terrain texture and modify it?
yeah im using custom biomes and i just copied the grass_side part over from the vanilla file
thats all i copied over
I downloaded the vanilla terrain texture file, just added my color, and tried using it in a custom biome, but it didn’t work.
and there's no content log errors or anything?
Nothing
How would you go about making sure a 31x31x31 area is minecraft:end_stone before placing a structure? I've been trying to use the search_feature, but it doesn't seem to adhere to the constraints. Namely it doesn't listen to "may_replace" and sometimes places in the air instead of only end_stone.
Does anyone know if Mojang has made any noises recently about actually making the aggregate_feature random and removing "early_out"? It's SO USEFUL 😭 I hope they do not unless they can come up with a conditional feature type they keep around!
Also, I've barely been using features for a week... why are there so many BUGS 🐞
Can anyone tell me the name of dark forest tree feature rule pls i want to change the structure of the trees
roofed_tree_feature
Oh is it feature rule
all the available feature and feature rule is in this.
you can check
Oh thanks
There's only one for roofed and it's this
I already tried this and it's for plants
Idk I got this from mojang's feature rules samples the other day, is this what you're after
It worked for me just then 🤷 Dark forest got instantly logged. I just tried replacing the vanilla feature with a single block feature that placed air
Referred to in the feature file.
Anyway, you're welcome.
So apparently mojang use this supposedly depreciated way to use aggregate features about eleventy bajillion times in the provided feature files, maybe they won't get rid of it after all. Just used it to select only a biome's border zone, very useful.
Well...
Never say never...
I wish they brought back conditional though.
We just need something enabling conditional that sticks around.
Plus bug fixes. I'm getting different placement behaviour on PC and mobile for instance.
Oh and why the single invariable q.noise() function, come on Mojang, give us a bit more parity. I'm trying to argue with Java true believers in my life here.
Hm?
We get one 2d noise function only, which is limited for worldgen. And it may not even vary with seed? Yes I realise the JIT nature of Java means Mojang didn't exactly intend for all its noise data to be laid out and be able to hooked into, but damn give us a bit more in Bedrock for worldgen capabilities. Anyway, I can see there's been some work here on writing better noise in Molang, not sure how fast that is, so I guess I'd better investigate that.
Oh yes. Noise query is not seed dependent.
Ugh whyyyy
Bug or WAI 
I mean I assume it's intended as in: "just give them something" (also maybe not wanting to inadvertently expose any seed-dependent logic??) but then people went and made entire universes in bedrock with it and wanted more.
I reckon late 2026 they'll pick up again on world gen.
That'd be great. The laundry list is long. I mean, they said they'd work on getting custom biomes back in and by god they did it.
first time i ever got a feature to work
teh feature rule doesn't place but the biome doesn't generate as a whole so i'll have to fix that
Preview?
no, stable
my other custom biome generated fine
i think i screwed it up because im dumb so im removing the feature elements from the biome that i added to generate those pumpkins and hope that the feature rule will place the pumpkins in that biome
i also think we have three days until jigsaws 1 year anniversary
not as many pumpkins as expected but a good start
the pumpkins are spawning far less then I thought they would but they seem more common then if the vanilla features were placing them
i actually removed oak trees by accident lol
that structure only spawns in forests
YIPEEEEE
punkimg
indeed
Is there any way to make a stitched together structure appear at random locations? I followed Ciosciaa's tutorial to stitcha structure, but it only spawns at (0,0) can't figure out how to make it spawn randomly.
Feel like it needs to be ran through an aggregate feature, but aggregate seems bugged.
{
"format_version": "1.13.0",
"minecraft:sequence_feature": {
"description": {
"identifier": "cnb_crp:end",
"places_feature": "cnb_crp:empty"
},
"features": ["cnb_crp:end1_1","cnb_crp:end1_2","cnb_crp:end1_3","cnb_crp:end2_1","cnb_crp:end3_1","cnb_crp:end2_3","cnb_crp:end3_2","cnb_crp:end2_2","cnb_crp:end3_3"],
"early_out": "first_failure",
"may_replace": [
"minecraft:air",
"minecraft:end_stone",
"minecraft:light_block_15"
],
"conditions": {
"placement_pass": "after_underground_pass",
"minecraft:biome_filter": [{"test": "has_biome_tag","operator": "==","value": "the_end"}]
},
"distribution": {
"iterations": 1,
"scatter_chance": 1,
"coordinate_eval_order": "yxz",
"x": -16,
"y": 40,
"z": -16
}
}
}```
Then is this correct
Idk, I don't wanna read lots of tiny screenshot text if I don't have to, so try it and see. It worked for me straight away when I did as I described. I replaced the "places_feature" field with my own feature identifier, which in my case was referring to a feature that simply places air. Dark Forest became just grass (maybe a lone azalea tree) when I applied the pack.
Can you send me a pic of that to see what i did wrong pls
When I try with it it just spawns the tree it's not replacing the tress
...........
"minecraft:feature_rules": {
"description": {
"identifier": "minecraft:roofed_forest_surface_roofed_tree_feature_rules",
"places_feature": "mantis:just_air"
},
"conditions": {
"placement_pass": "surface_pass",
...........
(Just a bit of the file)
I just changed what feature it places (in this case, a single air block)
Oh and also I changed iterations to 1 (to place one air block per chunk not 16) but it doesn't really matter. That's it.
I've never overridden vanilla features before, but it certainly got dramatic results
Before and after (same seed, different world)
I am not typing your code out and trying it myself. That's your job!
No if the feature like this will it work for this type of code because it as been working i already did 4 biome it as been working for them but not this
It worked for all these but not for this
yeah thats the other thing I suggested to them
Oh i very to change the code with this
aggregate works perfectly fine
you probably didn’t put the offsets in the features the aggregate is placing
I did that successfully, the issue was I thought it was supposed to go in the features_rules folder. I eventually got it figured out after hours of trying.
I had already been linking the features through a scatter before placing.
silly!
Yeh lol, ugh sometimes I hate learning a new niche. Thanks for your response tho! Appreciate it.
Probably would have figured it out sooner, but I had some of the iterations and scatter in the different features set to 1, didn’t even think about it affecting it the way it did 🤦🏻♂️. So most of my tests weren’t even showing up.
Guys, I just can't figure out for the life of me how to use distributions.
no matter what I input for "y", my cave carver feature always gets placed at around [-64, -50]
"distribution": {
"iterations": 1,
"scatter_chance": 100,
"coordinate_eval_order": "zyx",
"x": {
"distribution": "uniform",
"extent": [0, 16]
},
"y": {
"distribution": "triangle",
"extent": [0, 50]
},
"z": {
"distribution": "uniform",
"extent": [0, 16]
}
}
even if I just go "y": 50 Minecraft ignores it 😭
is there any tutorial about bedrock jigsaws? the video from mojang It leaves me with some doubts
wiki.bedrock.dev has one which i wrote
it hasnt been updated in a while however
I've also been delaying making my own youtube tutorial on it because im lazy and dont use my voice on youtube so i would have toto caption all of it
I believe y would usually be interpreted relative to the input coordinate from higher up the feature chain, starting with the feature rule.
What do its parent features / feature rule have for y? Is project_input_to_floor set to true at any point? Are any of the parents part of a sequence?
I just have the simplest cave carver feature:
{
"format_version": "1.21.60",
"minecraft:cave_carver_feature": {
"description": {
"identifier": "namespace:cave_carver_feature"
},
"fill_with": "minecraft:diamond_block",
"width_modifier": 5,
"height_limit": 15
}
}
So it has one parent only, a feature rule? What is y set to in that?
Slicing the world at 0 makes fun caves.
More shenanigans while learning features!
how can I expand a base of my structure to the ground with jigsaws? (just like pillager outpost)
Cant.
hmmm scripting api is the only option?
how can I keep a fixed rotation on every piece generated by jigsaws?
You can't.
oh, so always rotate to match the target jigsaw and randomly rotates if there is more than one target
so I have to use unique piece names
Wellll
Just slap a structure file that’s like a foundation on the bottom and call it good
It’ll cut the ground away but it’ll do the job
When we get block protection processors then it’ll be a official thing
jigsaws structures doesnt spawn entities? O.O
mine is not working and it works with /structure load
They do.
do I have to specify it somewhere in the json files?
Nope.
hmmm it works using /place jigsaw but for some reason is not spawning entities when its generated naturally
ooohh doMobsSpawning gamerule influences
alright, resolved
Is there some way to just remove all existing caves from the game?
1 year anniversary of jigsaws being released in 1.21.50.26
Is it possible to edit vanilla structure spawn rate or completely remove the ability for them to spawn
No.
Rip. I was hoping to replace all villages with abandoned ones
does states not work with minecraft:ore_feature
No. If you mean to replace.
is there any feature where i can replace a block with certain block states then?
whats the separation and spacing for end portal strongholds?
I want to place my structures almost one per world like strongholds
(nvm i figured it out, single block lets you replace blocks based on state)
"type": "minecraft:clear",```
this doesnt exist in bedrock yet, right?
I cant find any mention of it in the wiki
I want to replace the loot table of a chest with another loot, append_loot add more loot, it doesnt replace an existing loot
Replace? Not as far as I know.
think we only have passthrough and append_loot
alright, thank you
I'm adding a loot table to my chests using a processor, but because the output_state is required, the chest is repositioned and the original orientations of the chests are broken. Is there any way to fix this problem?
Don't tell me I have to add a rule for each chest orientation xd
in reality, I dont see a way to get a chest via id and states in input_predicate
ooh location_predicate, right?
blockstate_match
processors
ooh thank you
is there a public schema where I can see all available options?
using /setblock ~~~ chest[ command should show all the blockstates
adding the bracket will have it pull up a list of chest block states
so the block state would be "minecraft:cardinal_direction":"east"
you set the processor to find those chests apply the loot table and set the output chest to have the same rotation and do that for all 4 rotations
thank you
I love how you'd have to add like 10 rules in the processor if I have to edit barrels xd
real
its 40 if you account for every single type of a single stair block
umm, how can i replace the nether biomes with my custom ones? im just trying to add a custom tag for the vanilla nether biomes, and i think i can do that by replacing the biome with a csutom one, however, the replace biome component thing doesnt seem to work in the nether, since the dimension option doesnt have anything else besides the overworld.
sorry for the ping
or, i can just modify the nether biome instead of replacing it.
Are biome replacements stable? I cant seem to get any to show up in 1.21.120... Pls help
{
"format_version": "1.21.110",
"minecraft:biome": {
"description": {
"identifier": "test:cobble_plains"
},
"components": {
"minecraft:replace_biomes": {
"replacements": [
{
"dimension": "minecraft:overworld",
"targets": ["plains", "forest"],
"amount": 0.5,
"noise_frequency_scale": 25
}
]
},
"minecraft:overworld_height": {
"noise_type": "default"
},
"minecraft:surface_builder": {
"builder": {
"type": "minecraft:overworld",
"sea_floor_depth": 7,
"sea_floor_material": "minecraft:gravel",
"foundation_material": "minecraft:stone",
"mid_material": "minecraft:dirt",
"top_material": "minecraft:cobblestone",
"sea_material": "minecraft:water"
}
},
"minecraft:tags": {
"tags": ["animal", "maple", "forest", "monster", "overworld", "bee_habitat", "maple_forest"]
}
}
}
}
it is stable, i am using the 1.21.110 format version on minecraft 1.21.114 stable without any toggles and it works
so yeah, it is stable
Did i do anything wrong in the code above?
i see sometimes biomes use surface_builder and sometimes its surface_parameters
{
"format_version":"1.21.110",
"minecraft:biome":{
"description":{
"identifier":"frozen:savanna_mutated"
},
"components":{
"minecraft:climate":{
"downfall":0.7,
"snow_accumulation":[0.25,4.5],
"temperature":0.0
},
"minecraft:overworld_height":{"noise_params":[0.3625,1.225]},
"minecraft:surface_builder":{
"builder":{
"type":"minecraft:overworld",
"sea_floor_depth":7,
"sea_floor_material":"minecraft:gravel",
"foundation_material":"minecraft:stone",
"mid_material":"minecraft:dirt",
"top_material":"minecraft:grass_block",
"sea_material":"minecraft:water"
}
},
"minecraft:surface_material_adjustments":{
"adjustments":[
{
"materials":{"mid_material":"minecraft:stone","top_material":"minecraft:stone"},
"noise_frequency_scale":0.0625,
"noise_range":[0.212,1.0]
},
{
"materials":{"top_material":{"name":"minecraft:dirt","states":{"dirt_type":"coarse"}}},
"noise_frequency_scale":0.0625,
"noise_range":[-0.061,0.212]
}
]
},
"minecraft:replace_biomes":{
"replacements":[
{
"dimension":"minecraft:overworld",
"targets":["minecraft:savanna_mutated"],
"amount":1,
"noise_frequency_scale":1
}
]
},
"minecraft:tags":{
"tags":[
"frozen_age",
"animal",
"monster",
"mutated",
"overworld",
"savanna",
"spawns_savanna_mobs",
"spawns_warm_variant_farm_animals"
]
}
}
}
}```
the replace biome thing works there
it replaces all savanna mutated biomes with this custom one
hmmm, maybe they added namespaces to the targets field for replacements
ill try this out
u need to set the targeted biome ID not tags.
yeah, on their official tutorial they use the id without the namespace, probably they fixed that
like 'minecraft:plains' instead of just 'plains' so it wont replace anything else besides the plains biome
that was it!
thanks a lot
Do you happen to know how one could go about making the terrain in the biome extremely flat?
I might be overlooking something, but how would one go about specifically targeting and replacing blocks of specific state types in block processors for jigsaw structures? The attached image is code I'm attempting to use, but just sends back a schema error.
replace block_match with blockstate_match
Well, that got me closer, thank you. Now for some reason the specified slabs can't be found, probably some formatting issue that I'm missing but I'm unsure.
Nevermind got it, was just being silly and forgot the namespace before the vertical_half state.
Try using /setblock in game
Ah yeah
umm, how can i make leaves doesnt generate at all? like forcing the trees to spawn without any leaves on them
via features/rules? or via the biome somehow?
edit the tree files and change the leaf_blocks to air.
or remove it, if it allows you to.
where can i find that file?
its just not in the bedrock samples i have downloaded a while ago
the bedrock dedicated server package
or just download this #1324376503848275980 message
how do you guys name the feature files? is it necessary to do <dimension>_..._feature.json?
that can usually take me over the 80 character limit :b
No.
it should have all of the new biomes in it. right? like the pale garden/pale trees/etc
my discord is glitching..
you can just find that in bedrock samples.
the features on the other hand, no
you want to edit the trees, you cant do that in the biome file.
look, i am making two addons as DLCs for my main addon, one of them makes every single biome cold/frozen, and the other makes every single biome hot and dried,
so i just have to make trees spawn without leaves, and make water spawn 98% less often, like the whole world is dried and hot, mutants will have lava inside them (bec why not)
so yeah, the frozen one is already done, and i just have to work on the other molten one
neat
How do I use the gaussian distribution for my custom ore feature rule? I need it so my ore starts generating at -16 and gets more common towards -64
Usetriangle distribution.
Check out the vanilla diamond.
So if I use triangle and have my extent set to [-16, -64] it will automatically have it be more common towards -64? Or is there something else I'm missing?
Yes.
This is the Vanilla diamond
{
"format_version": "1.13.0",
"minecraft:feature_rules": {
"description": {
"identifier": "minecraft:overworld_underground_diamond_ore_feature",
"places_feature": "minecraft:diamond_ore_feature"
},
"conditions": {
"placement_pass": "underground_pass",
"minecraft:biome_filter": [
{
"any_of": [
{
"test": "has_biome_tag",
"operator": "==",
"value": "overworld"
},
{
"test": "has_biome_tag",
"operator": "==",
"value": "overworld_generation"
}
]
}
]
},
"distribution": {
"iterations": 7,
"coordinate_eval_order": "zyx",
"x": {
"distribution": "uniform",
"extent": [ 0, 16 ]
},
"y": {
"distribution": "triangle",
"extent": [ -144, 16 ]
},
"z": {
"distribution": "uniform",
"extent": [ 0, 16 ]
}
}
}
}
Wait wrong one.
There we go.
Where can the features be found, I don't have them in the bedrock samples
I use the internal files or BDS
Do you have a link with the files? I'm on android so I can't access the internal files
@hexed prawn go there and go to vanilla bds, download it, extract.
Is it only on PC I can do it?
Ah, ok. I'll take a look now. Thanks
Found the files I'm after. Thanks for your help 😁
umm, what should i do to make water never generate in the world? i have modified the biomes and made them never spawn water, but in caves/some other places, water still exist, so how am i going to remove them completely?
(water caves still exist)
I inserted a jigsaw block inside a structure that points to entity pools, but the entities inside the structures do not appear
Did you save the entities in the file?
Yes in the structure block
Is domobspawning gamerule turned on?
Yes
If I use the place jigsaw command the pool works but in the village generation not
I tried saving the house structure with the villager inside that works but I would like to use the jigsaw block inside the house to spawn villager
Are the jigsaw blocks set up correctly to spawn it
I assume so in the target_pool I inserted pool entities, in the target_name: "", while in the name: test:entity
Yeah you need a target name so the jigsaw can place a piece from that pool with that target name.
It still doesn't appear, I don't know why
I assume you might have already tried replacing -all- water and flowing water blocks with air in a later pass? (Might be too slow though)
Waterlogged vanilla features can also cause water to be placed, I believe, which air replacing water (in any pass) doesn't work on. I haven't tried overriding those vanilla features yet to prevent placement so I don't know if that works.
Ok so I just wasted a bunch of time because of this, but are jigsaw template pools unable to generate if they have overlapping blocks with their parent structure?
like u are saying that i should add a feature/feature-rule to spawn ''air'' and it will replace all water? yeah that could work, also what block will get waterlogged? those trees things in the new mangrove biome? bec i have already removed all trees from being generated, and the only issue i am having is inside the caves, where there will be alot of water that i would have to replace with air
but i also need to make some water able to generate, like rarely in oceans, im assume that the new feature/rule will replace the new water, right?
You could place air blocks in a 16x16 chunk grid in tall columns, where the single block feature placing air has the condition that it can only replace a water block (so it won't replace stone or anything else). The trick would be to come up with a way to exclude the areas of the world you want left alone - like some oceans, plus if you replace the water with air, I've found some water blocks still get left behind (even when replaced in a final pass) and I assume it's something to do with waterlogged features, sea grass and the like maybe?? I'm still testing it out myself - I've been trying to create voids and deep pits rather than remove just water specifically.
Replacing water block or flowing_water blocks
its not possible to make the water unable to generate, right? like all biomes has no water, i replaced the water placement with air, but the caves and such still has water inside, the feature/rule is not stable, like it can make the game alot slower and cant get the job done in a good way
ocean, its like 90% drain
the world is too hot, finding water will be the highest priority, so im just trying to make the water spawn way less often
With underwater caves, I found this vanilla feature rule and associated feature in the BDS & PC Bedrock data files. It may let you override it in some way?
As far as I know, big bodies of water don't spawn as a vanilla feature, or at least not anything we can override. I think it's part of the initial world building before biomes are chosen to fit them, covering the surface automatically with water up to about y=62. So the main way to remove water is with air blocks. As I said before, I find with this method some of the water remains, so preventing placement of underwater features might help.
Really cool concept by the way!
Doing fixup worldgen like this could make the game too slow, yes. It's frustrating we don't have more control over initial placement options, that might come in the future.
I am finding there's ways to optimise/speed up feature chains by delaying amount of iterations and other calculations close to the start of the chain at the feature rule, and put in various filters/conditions/constraints along the way to whittle down which areas of the world will actually get block placement.
Like, if possible, stepping chunk by chunk (or possibly more?) (so there's only one, or minimal iterations per chunk) until a condition is found that is satisfied for that chunk, then doing the 16x16 = 256 iterations for that particular chunk.
Ways to use features/rules to get information about what blocks are in the world and act conditionally (so as to cut down on number of blocks placed and speed up the worldgen): Using biome filters, making molang queries about current biome, detecting and comparing highest solid block and/or highest non-air block, the search feature used with the early_out conditional aggregate feature with a threshold amount of attempts to place a block in an area with certain constraints on placement for that block to give it a pass/fail and hence information about what blocks and shape of blocks are in that area , and maybe other techniques I haven't seen.
Sorry, lotta text. Hard to explain.
Yeah
Jigsaw pieces can’t overlap each other unless a jigsaw is spawning a structure fully with in its parent piece
what jigsaw features from java is not yet added to bedrock edition?
Ran some tests. Overriding all the vanilla seagrass, kelp etc feature rules does eliminate stray water/flowing water blocks left behind when placing air blocks in ocean space.
Overriding the vanilla underwater cave carver feature rule (I made it place a custom cave carver feature) does eliminate a lot of underground water; however there's other water sources underground still remaining, can't see a feature rule that places them. If the goal is to make water rarer, that definitely works.
A lot of things
3 tp elements, all processors except from Minecraft:rule and we are missing spawn_overrides
Interesting 🤔 Yeah you can only override carvers but not aquifers. Can you pls accept my friend request?
My structures are being generated inside the houses in the villages, destroying everything. Can anyone help me?
hmm, so i have replaced all biomes with a custom biome with a new tag. and that cause villages/temples/shipwrecks/trial chambers/some more structures to lose the ability to generate
why
is it bec its a custom biome with the vanilla tags?
so i changed the id from custom to vanilla, the temple now generates in the desert, but when i try using a custom desert it doesnt work
mhm
How did you change the vanilla biomes tag into custom biome tag
by replacing the vanilla biome with a custom one
look, its the vanilla biome, but with a custom id and one extra tag, thats all
sorry for the ping, but is there any way to change how the vanilla structures spawn? like how village spawns or how temples generate in the desert.
Can you send me only pic of that I will learn from that
Asides from the 2 newest structures, no
{
"format_version":"1.21.110",
"minecraft:biome":{
"description":{"identifier":"frozen:desert"},
"components":{
"minecraft:climate":{
"downfall":0.7,
"snow_accumulation":[0.25,4.5],
"temperature":0.0
},
"minecraft:overworld_height":{"noise_type":"lowlands"},
"minecraft:surface_builder":{
"builder":{
"type":"minecraft:overworld",
"sea_floor_depth":7,
"sea_floor_material":"minecraft:gravel",
"foundation_material":"minecraft:stone",
"mid_material":"minecraft:sand",
"top_material":"minecraft:sand",
"sea_material":"minecraft:water"
}
},
"minecraft:replace_biomes":{
"replacements":[
{
"dimension":"minecraft:overworld",
"targets":["minecraft:desert"],
"amount":1,
"noise_frequency_scale":1
}
]
},
"minecraft:tags":{
"tags":[
"frozen_age",
"desert",
"monster",
"overworld",
"spawns_gold_rabbits",
"spawns_warm_variant_farm_animals",
"spawns_warm_variant_frogs"
]
}
}
}
}```
vanilla desert biome, but with a different ID so it can rain there
Nice
What you changed to this
the only issue is: it cant generate any vanilla structures
I want to change because of that
heres the vanilla one:
{
"format_version": "1.20.60",
"minecraft:biome": {
"description": {
"identifier": "desert"
},
"components": {
"minecraft:climate": {
"downfall": 0.0,
"snow_accumulation": [ 0.0, 0.125 ],
"temperature": 2.0
},
"minecraft:multinoise_generation_rules": {
"target_temperature": 0.4,
"target_humidity": -0.4,
"target_altitude": 0.0,
"target_weirdness": 0.0,
"weight": 0.1
},
"minecraft:overworld_height": {
"noise_type": "lowlands"
},
"minecraft:surface_parameters": {
"sea_floor_depth": 7,
"sea_floor_material": "minecraft:gravel",
"foundation_material": "minecraft:stone",
"mid_material": "minecraft:sand",
"top_material": "minecraft:sand",
"sea_material": "minecraft:water"
},
"minecraft:overworld_generation_rules": {
"hills_transformation": "desert_hills",
"mutate_transformation": "desert_mutated",
"generate_for_climates": [
[ "warm", 3 ]
]
},
"minecraft:tags": {
"tags": [
"desert",
"monster",
"overworld"
]
}
}
}
}
It looks so good
it looks alot better now, with a much colder fog
Is this the biome json
Oh name of the addon
and replaced that generation rules with the biome replace thing
xFrozen Age DLC
I can't understand i am weak at english
Cool name
my bad, i was writing while talking, lol
i tried changing the biome id from custom to vanilla, the structures are spawning, but it cant rain there anymore
so i have to either make a custom structure generator for those biomes, or leave it as it is (which what i will be doing btq)
if the generated biome is custom (not vanilla biome) the village will not spawn there
so i have to somehow modify the village spawn rules to make it spawn in the custom biome
which i have no idea how to do
So if I even change like this the village will spawn
You cant.
We can't modify the village right because of jigsaw
no it wont work, since the village spawn rules thing requires the vanilla biome not the custom one
For ore_features, is there a way of setting their height generation rule like distribution on normal features? Like for example, more common deeper down, or more common higher up
Yes.
check out the diamond ore features
Ye i want that i don't want the village to spawn
@wanton flare
AH thank you, I see, I got rules and features mixed up
can i atleast make some structures spawn there? like some random empty/frozen villager houses or some ruins?
like custom structures, not vanilla structures
Would it theoretically be possible to use large ore features to add a third "layer" to the world, like stone, deepslate, then a new layer of maybe obsidian which replaces the bottom 32 blocks of Obsidian?
Yes.
Yes.
should i use jigsaw for it or normal structure should do it?
Sounds like this could be a fun project. I'm guessing that Bedrock world gen is not at a stage to move everything UP to then make more room for a lower layer... that'd be awesome
Either or.
i'd rather use normal structures, since the ruins will not be that large, i will be using jigsaw only if i am recreating the vanilla village
or, leave it as it is, an empty/frozen world with no villages or structures
Does anyone know why the starting structure gets buried? I used terrain_adaptation:bury
{
"format_version": "1.21.20",
"minecraft:jigsaw": {
"description": {
"identifier": "redstone:illager_refinery"
},
"step": "surface_structures",
"terrain_adaptation": "bury",
"start_pool": "redstone:refinery_start",
"heightmap_projection": "world_surface",
"start_height": {
"type": "constant",
"value": {
"absolute": 0
}
},
"max_depth": 7,
"biome_filters": [
{
"any_of": [
{
"test": "has_biome_tag",
"operator": "==",
"value": "ice_plains"
},
{
"test": "has_biome_tag",
"operator": "==",
"value": "cold"
},
{
"test": "has_biome_tag",
"operator": "==",
"value": "plains"
}
]
}
],
"liquid_settings": "ignore_waterlogging"
}
}
How can I organize the structure features into folders and put them in the JSON so that it recognizes the folders?
@subtle plinth Hi, I wanted to ask you if there is any way to fix this?
For large structures this is acceptable. If only there was a way to get it to spawn on a flatter place.
I have this structure; it has 3 layers of solid blocks. The first layer is next to the ground, but the other two are above ground. I'd like to know if it's possible to make the last layer of sand level with the ground? I'm using jigsaws.
Some goofy thing with jigsaws is that the start piece is always sunk into the ground so just add a layer of structure voids to the bottom of that structure and save them into the structure file and that should work
It has about 3 layers, I think I'll separate it into top and bottom; the top is the part I'd like to generate at ground level, and the bottom will generate inside with the jigsaw block.
But is it possible to select or limit the generation of a jigsaw structure if the terrain is not flat enough?
anyone know how structures spawn creatures around them without saving them in the structure because it can cause lag generating big dungeons, like pillager outposts or ocean monuments, and how to recreate that with my own structures
we can only spawn mods on initial generation, we can't set spawning areas right now
thats tragic
what about making a custom block that the mobs can only spawn on that block, and place it around the area?
like for a custom mob and its spawn rule
i mean maybe
i just ended up making my own spawning script
yea i got it, make a custom block with 0 geometry so its invis, then make a script that looks for those blocks around the player then has a chance of spawning the entities you want and give it a entity cap
is there a parameter like block_intersection in features but for jigsaws?
"minecraft:surface_material_adjustments": {
"adjustments": [
{
"materials": {
"top_material": "minecraft:podzol"
},
"noise_range": [
0,
0.5
],
"noise_frequency_scale": 0.0625,
"height_range": [
72,
255
]
}
]
},```
Where is this component supposed to go to actually work?
In the biome file or a feature?
That’s a biome component
Also any particular reason why my feature is scattered like its made with a height map?
I want this feature to be everywhere but it only appears in patches
{
"format_version": "1.21.60",
"minecraft:scatter_feature": {
"description": {
"identifier": "lv_be:lv_be/biomes/maple_woods/maple_trees_survivor.f"
},
"places_feature": "lv_be:lv_be/biomes/maple_woods/maple_trees.f",
"distribution": {
"iterations": 1,
"x": 0,
"y": 0,
"z": 0
}
}
}
{
"format_version": "1.21.60",
"minecraft:snap_to_surface_feature": {
"description": {
"identifier": "lv_be:lv_be/biomes/maple_woods/maple_trees_surface.f"
},
"feature_to_snap": "lv_be:lv_be/biomes/maple_woods/maple_trees_survivor.f",
"surface": "floor",
"vertical_search_range": 32
}
}
{
"format_version": "1.21.60",
"minecraft:weighted_random_feature": {
"description": {
"identifier": "lv_be:lv_be/biomes/maple_woods/maple_trees.f"
},
"features": [
[
"lv_be:lv_be/biomes/maple_woods/large_orange_maple_0.f",
4
],
[
"lv_be:lv_be/biomes/maple_woods/large_orange_maple_1.f",
3
],
[
"lv_be:lv_be/biomes/maple_woods/large_orange_maple_2.f",
2
],
[
"lv_be:lv_be/biomes/maple_woods/large_yellow_maple_0.f",
4
],
[
"lv_be:lv_be/biomes/maple_woods/large_yellow_maple_1.f",
3
],
[
"lv_be:lv_be/biomes/maple_woods/large_yellow_maple_2.f",
2
],
[
"lv_be:lv_be/biomes/maple_woods/large_red_maple_0.f",
4
],
[
"lv_be:lv_be/biomes/maple_woods/large_red_maple_1.f",
3
],
[
"lv_be:lv_be/biomes/maple_woods/large_red_maple_2.f",
2
]
]
}
}
{
"format_version": "1.21.60",
"minecraft:feature_rules": {
"description": {
"identifier": "lv_be:maple_trees.fr",
"places_feature": "lv_be:lv_be/biomes/maple_woods/maple_trees_surface.f"
},
"conditions": {
"placement_pass": "first_pass",
"minecraft:biome_filter": {
"test": "has_biome_tag",
"operator": "==",
"value": "maple_woods"
}
},
"distribution": {
"iterations": 50,
"x": {
"distribution": "uniform",
"extent": [
0,
16
]
},
"z": {
"distribution": "uniform",
"extent": [
0,
16
]
},
"y": "q.heightmap(v.worldx, v.worldz)"
}
}
}
when I put it in nothing happens though
Yeah I actually don’t know how it works so I probably couldn’t tell you what is wrong with it
I just got biomes working
Is there a particular reason why I’d be getting a “Cannot find behavior pack structures definition” error on a specific structure when no others I’ve saved have such an issue? For context, this is for loading it into a structure template feature.
I’ve done nothing differently as far as I can tell when saving other structures to my behavior pack and giving them a custom namespace while also loading those ones into their own structure features. Just this specific one.
I’ve tried troubleshooting it by resaving via structure block or exporting it via commands with no luck.
Disregard, restarting my IDE fixed it. Such a weird error. 🤦♂️
Is there a way to prevent structure features from spawning on each other?
short answer: yes
long answer: well, yes, but it's complicated
Do I need to wrap it with some kind of feature?
"exclusion_zone": {
"chunk_count": 10,
"other_set": "minecraft:end_city"
}```
this isnt a thing on bedrock?
Nope
Like configuring the X Y Z constraints for each so they'll never clash? (Such as different coordinates within a chunk, or each having a different chunk/48x48 area distinguished by those chunks always having a distinct modulus taken from its chunk origin.) Or some other mutually exclusive constraint wrt an aspect of the local terrain, such as always on south facing slopes or on certain blocks? I don't think I've learnt anything else (yet). I don't think the game registers where it places features?
Or I guess for each structure placing down a block with a custom block component, or a command block, that then does its own check. Idk I'm just spittaking here.
its much more complicated than that
the only way you can guarantee without getting into complicated molang and advanced knowledge of how worldgen works is to learn to use jigsaw
and even then its not a solid guarantee cuz bedrock's structure gen is buggy
Yeah I was just talking about features. I guess noise can be used to isolate mutually exclusive areas too.
From what you're saying about Molang, sounds like you mean using maths perhaps within features to set world zones and do sampling of what is already there.
The noise is predictable so could be used by both features to avoid each other.
Sampling what is already there is messier and slower but possible too. And scripting is the messiest of all.
I assume Mojang will be rolling out more of the jigsaw capabilities for parity.
Hopefully soonish. I wonder if village gen will be taken out of legacy jigsaw at some stage.
Oh, sequences would communicate the last feature placement coordinate to the next feature in the list, that would also be a way for features to potentially avoid each other.
don't.
there's a reason why i say this.
the q.noise query doesnt work correctly.
the seed for the noise is almost always the same between worlds.
Sure it's the same, but q.noise is still a useful query for pseudo-randomness, limited as it currently is. Complex world generation does still get made with q.noise, and I assume it can be salted with molang's random number functions, as well as projected into 3D with 3 2D planes.
What's the advanced molang and world gen of which you speak? Give us a hint.
If q.noise can be used to make custom biome zones, it could also be used to make custom feature zones that don't clash with each other. Using q.noise as a threshold function, or quantisation I guess with multiple thresholds.
The size of the zone can be modulated by the frequency of the noise.
Eg a noise XZ plane frequency of 1/8192 would be good for dividing an area up into mutually exclusive biome sized zones:
"iterations": "v.freq=1/8192;v.q=100*(q.noise(v.worldx*v.freq,v.worldz*v.freq)*0.5+0.5); return(v.q>=34&&v.q<=47)?1:0;"
This would return a distinct biome sized zone that is 14% of the total area.
Setting a much smaller frequency like 1/256 or even 1/64 for smaller patches that different features will get scattered around in but not conflict. Like a drift of flowers on a plain, or a placed structure where several different ones might end up in the same biome, or even a smaller part of it using different noise octaves/frequencies, or other numerical tricks with coordinates that are predictable for different structures being placed in parallel.
Yeah sure it doesn't vary by seed (c'mon Mojang give us your MULTINOISE WORLDGEN PARAMETERS like Java devs can), but if features are placed per engine-defined biome or has some initial salt to perturb/offset it or some other response to specific conditions, then it will be somewhat disguised.
I agree that we are already able to do a lot with world gen, it just takes a little creativity and math, but yes seed based noise or any functionality to safe & access values (like a seed) persistent in world gen would be nice.
May I ask what you re doing for living?
So nice! I thought at first they just really didn't want us to access anything to do with their seed-based noise for proprietary reasons, but so much of it is similar to Java and that's been reverse engineered quite a lot, and now that's being officially deobfuscated, I think we could have a little bit of seed-based multinoise as a treat. Maybe some continentalness or weirdness.
It would be wonderful to be able to configure how the structure will generate in relation to the ground. Currently, the first layer of the structure is always generated at ground level. It would be good if it were possible to configure it, for example, to generate one level above ground or two levels below ground.
Parenting disabled kids.
Agreed!
I haven't done much with structures, but with features you can sample the heights of the ground -16 to 31 x and z, and make decisions about height or even whether to place based on that.
That's a important and noble job ✨
I mean, that's already possible
Or -16 to 32, idk.
How? I tried to do that and couldn't find a way.
That's true, but features don't support jigsaw.
at least with jigsaws
Yes, I'm using jigsaw.
you could split the structure into multiple structures and place them one by one but idk whether it is worth the effort 😅
I'm having to do this.
Those that I wanted to sink into the ground I'm having to split, and those that should remain above ground I'm saving again, with the first layer being a structural void.
It's funny sometimes.
Therefore, it would be great if the jigsaw allowed you to choose the height you would like the structure to be above the ground; all this work would no longer be necessary.
Height offset does this what.
wait you don't need terrain height adaption for the x/z right? it's just the whole structure that should be placed at different heights? Just use a scatter in front
Sorry, start height, not height offset
Start height defines where the structure will rise from the ground, compared to the normal height of the terrain. This prevents the structure from sinking into the ground; at least, that hasn't happened to me.
Never had this issue.
My structures dont sink.
When I tried it, it didn't make much difference.
What height are you using? Im not sure what Im looking at.
-2
What happened was that the first layer remained at ground level, while the layers above it stayed above ground. What I tried to do was to get the last layer to ground level.
I tried using up to -8 but they all yielded the same result; the difference was that the soil was deeper.
So I let it go and just divided the structure in 2.
@subtle plinth ur good at jigsaws right, could u help me out rq
Can I force my jigsaws to spawn on specific blocks?
e.g. making a structure only spawn on lava in the nether?
Not that ik of
I haven’t made a structure for the nether yet so maybe it is
jigsaw doesn't work fully in the nether yet
I'm using this composition of components but I notice that there are some small problems during the generation of the structure, I don't know if it's a normal behavior or it's a component settings error:
- Is it normal that the "terrain adaptation" component: "beard box", does not fill everything underneath?
- "terrain adaptation": "beard box" places the structure inside the surface and not on top of the surface, even if I change the value on absolute to 1, 2... it does not change the behavior of the structure
{
"format_version": "1.13.0",
"minecraft:single_block_feature": {
"description": {
"identifier": "bmc:block/plant/shelf_mushroom_s_feature"
},
"places_block": {
"name": "bmc:shelf_mushroom",
"states": {
"minecraft:block_face": "north"
}
},
"enforce_survivability_rules": true,
"enforce_placement_rules": true,
"may_replace": [
"minecraft:air",
"minecraft:vine"
],
"may_attach_to": {
"south": [
"minecraft:log"
]
}
}
}
why it keeps facing east?
For the first one I think that is intended because of villages and for number 2 I think that is also intended
To fix the placement I should save the structure with biome blocks underneath, right?
Structure void blocks would probably be better
Just slap a entire layer of them under it and it’ll work just fine
Thanks for the tip! I'm having another problem. I'm trying to place a large tree with jigsaw blocks, but sometimes it gets placed near steep slopes, so the leaves and some of the tree's branches end up inside hills or mountains. Is there a way to fix this?
dimension_padding can solve it kinda
Why is outer_layer only shown in the sample, no actual docs information? https://learn.microsoft.com/en-us/minecraft/creator/reference/content/featuresreference/examples/features/minecraft_geode_feature?view=minecraft-bedrock-stable#:~:text=calcite"%2C "-,outer_layer,-"%3A "minecraft
single block feature doesn't apply states? My block keeps generating with the base state.
What does your code look like?>
...
Might be an issue with block traits, can you try a custom block state?
Sure I'll try it later.
Thanks again, the positioning seems to work correctly! I only have a problem with the generation of a structure, when it appears all the features are applied inside it even if there are no structure_voids, I assume that the structure is generated first and then the feature_rules are applied, is there any solution to prevent the positioning of some features inside the structures instead of changing the block of the structure surface?
generation steps but idk what order they go in
I think surface_structures is towards the end
raw_generation is the first one I think
I'm using "surface_structures" but it seems the features happen after the structure is generated. I've changed the block for now. Thanks.
Yes, jigsaws will now always generate BEFORE features do.
This is in parity with Java.
What is your pool configuration?
I use
{
"format_version": "1.13.0",
"minecraft:single_block_feature": {
"description": {
"identifier": "wypnt_bab:shelf_mushroom_e_feature"
},
"places_block": {
"name": "wypnt_bab:shelf_mushrooms",
"states": {
"wypnt_bab:natural_rotation": "east"
}
},
"enforce_survivability_rules": true,
"enforce_placement_rules": true,
"may_replace": [
"minecraft:air"
],
"may_attach_to": {
"auto_rotate": false,
"min_sides_must_attach": 1,
"west": [
{ "tags": "query.any_tag('log')" }
]
}
}
}
Maybe if you use the other one it will be better, right?
Yes you are right but the structure I had saved did not have a floor underneath so I assume that if I used that it would adapt the first layer of the structure to the ground as it already happened without that component, currently I have applied the system suggested before that of using the structure_void as the base of the structure, thanks.
Oh yes
ty
You're welcome
Hey, does anyone know if there are any ways for slope detection with jigsaw? I am currently trying to rework my stucture generation so I can /locate my structures. I previously used features with molang for slope detection (basically checking the heightmap of the corner of the structure selection and if the difference is less than X blocks, it can generate). But now for Jigsaw, I don't see any ways to do this properly causing my structures to generate in a very odd way.
I don’t believe so
Such a shame we can’t have the best of both 😭
Yeah
jigsaw blocks still working if the structure is generated through features?
Nope
😭
Why is this happening?
My code:
{
"format_version": "1.13.0",
"minecraft:biome": {
"description": {
"identifier": "hash:amber"
},
"components": {
"minecraft:climate": {
"downfall": 0,
"snow_accumulation": [
0,
0.125
],
"temperature": 0.5,
"red_spores": 0.5
},
"minecraft:overworld_height": {
"noise_type": "default"
},
"minecraft:surface_parameters": {
"sea_floor_depth": 7,
"sea_floor_material": "hash:amber_stone",
"foundation_material": "hash:amber_stone",
"mid_material": "hash:amber_stone",
"top_material": "hash:amber_grass",
"sea_material": "minecraft:water"
},
"minecraft:surface_material_adjustments": {
"adjustments": [
{
"materials": {
"top_material": "minecraft:diamond_block"
},
"noise_range": [
0,
0.5
],
"noise_frequency_scale": 0.0625,
"height_range": [
72,
255
]
}
]
},
"minecraft:tags": {
"tags": [
"overworld",
"animal",
"forest"
]
}
}
}
}
You need to make the format version 1.21.120 and add the replace_biomes component otherwise it won’t generate
Thanks, but now this has appeared
Behavior:
{
"format_version": "1.21.120",
"minecraft:biome": {
"description": {
"identifier": "hash:amber"
},
"components": {
"minecraft:climate": {
"downfall": 0,
"snow_accumulation": [
0,
0.125
],
"temperature": 0.5,
"red_spores": 0.5
},
"minecraft:overworld_height": {
"noise_type": "default"
},
"minecraft:surface_parameters": {
"sea_floor_depth": 7,
"sea_floor_material": "hash:amber_stone",
"foundation_material": "hash:amber_stone",
"mid_material": "hash:amber_stone",
"top_material": "hash:amber_grass",
"sea_material": "minecraft:water"
},
"minecraft:replace_biomes": {
"replacements": [
{
"dimension": "minecraft:overworld",
"noise_frequency_scale": 1,
"amount": 1,
"targets": [
"jungle",
"meadow",
"mesa",
"ocean",
"plains"
]
}
]
},
"minecraft:surface_material_adjustments": {
"adjustments": [
{
"materials": {
"top_material": "minecraft:diamond_block"
},
"noise_range": [
0,
0.5
],
"noise_frequency_scale": 0.0625,
"height_range": [
72,
255
]
}
]
},
"overworld": {},
"animal": {},
"forest": {}
}
}
}
Resource:
{
"format_version": "1.21.40",
"minecraft:client_biome": {
"description": {
"identifier": "hash:amber"
},
"components": {
"minecraft:fog_appearance": {
"fog_identifier": "hash:amber_fog"
},
"minecraft:ambient_sounds": {
"loop": "ambient.underwater.loop"
},
"minecraft:sky_color": {
"sky_color": "#eba800"
},
"minecraft:water_appearance": {
"surface_color": "#00a5ff"
}
}
}
}
not sure about what is causing that. I'm not experienced with biomes.
Oh, ok :/
No problem
Client biomes used to not use the namespace until relatively recently. You could update the format version.
Okay
Blocks with the tick component when placed by jigsaw structure during world generation
What does this mean
blocks that are supposed to do something immediately when generated, like repeating command blocks, will now do that properly when generated by jigsaws
Oh kk thanks for telling
Hello, I've been trying to put entity inside a structure then generate it with features and stuff. I've been researching for hours on internet even trying to search for already asked questions about this here. I have a solution for this by using command block, but I've been hearing about this jigsaw block to spawn the entity. And yeah i think its possible since ive been seeing it pop up at the comments of this similar question, but i can't figure out how to do it
In summary, how th does the jigsaw turn into entity work dawg 🥀🥀🥀
You can just save a entity into a file and if it is generated by a jigsaw it’ll spawn
You can use mcbe-essentials loot tabler app
Generated by jigsaw?
entities saved in structure files will be generated if the structure is a jigsaw but they won't be if placed by a feature
Wait so how to spawn for example just a single entity within the structure if i want to use features?
Features can’t spawn entities without a block like a command block summoning them then deleting themselves
So the conclusion is there's no way feature can summon entity
-# without using command block to spawn and deletes itself
Alright then
Thankyou

The command block doesn't have to delete itself obvs if the structure is large enough to hide it.
Structure with embedded command block(s) that summons entities is a very commonly implemented method btw.
Quick question, what's the maximum structure size a jigsaw block can generate ?
256x256
How do I properly prevent structures from spawning next to each other?
{
"format_version": "1.21.60",
"minecraft:feature_rules": {
"description": {
"identifier": "lv_be:beach_huts.fr",
"places_feature": "lv_be:lv_be/biomes/tropical_beach/beach_huts.search"
},
"conditions": {
"placement_pass": "surface_pass",
"minecraft:biome_filter": {
"test": "has_biome_tag",
"operator": "==",
"value": "tropical_beach"
}
},
"distribution": {
"iterations": "math.random_integer(0,1)",
"scatter_chance": {
"numerator": 1,
"denominator": 20
},
"x": {
"distribution": "fixed_grid",
"extent": [0, 16]
},
"z": {
"distribution": "fixed_grid",
"extent": [0, 16]
},
"y": "q.heightmap(v.worldx, v.worldz)"
}
}
}```
I feel like they tend to spawn either in clusters or not at all
How can I configure the rarity of the jigsaw structures? Is there a good way to do this?
{
"format_version": "1.21.80",
"minecraft:jigsaw": {
"description": {
"identifier": "lv_be:pirate_ship_jigsaw"
},
"step": "surface_structures",
"heightmap_projection": "none",
"liquid_settings": "apply_waterlogging",
"start_height": {
"type": "constant",
"value": {
"from_sea": 20
}
},
"max_depth": 2,
"start_pool": "lv_be:ship_start",
"biome_filters": [
{
"test": "has_biome_tag",
"value": "ocean"
}
],
"max_distance_from_center": 128,
"dimension_padding": 10
}
}```
Any idea why my structure always spawns on the same height no matter what I actually write?
also why does this always spawn with a piece of terrain below?
1: I think start_height might be wrong
2: add “terrain_adaptation”: “none”
Structure sets
tried that and it didn't change anything
1 or 2 or both?
I tried the terrain_adaptation
Interesting, that should work because I’ve used it before
not sure what else to put in start height I tried some different setups all came to the same result
"start_height": {
"type": "constant",
"value": {
"absolute": 1
}
},
This should work you might just need to decrease the number to negatives to make the boat sink in the water
My bad got it working I changed the wrong file
how can I have my jigsaw structure spawning less?
Increase the separation and spacing values in the structure set placing it
Yes, but is there any technique I can use to recreate the rarity of the feature in Jigsaw?
Wdym?
I don’t really know how features work
Make the seaparation space a large number.
Oh yea
How to make bamboo spawn less in jungle very less
can someone please see what I'm doing wrong here. This template pool is not applying the processor to pieces it should be. That file is being generated by the second pictured jigsaw and its placing the first one
why in the world is the structure not applying the processor that it should be?
I need another opinion because I cannot for the life of me figure out why
locdev:swamp_zombie_village_processor is the name of the processor, I've checked at least 15 times now
so apparently my computer was the problem because I loaded it up on my kindle and it worked fine
I don't know whymy computer is always hellbent on ruining my day but it managed very well to do it this time
How to make bamboo spawn less in jungle very less
Anyone tell pls
What do you want it to look more like?
ping
You can manipulate the noise function in iterations in the vanilla feature rule bamboo_jungle_after_surface_bamboo_feature.json
Eg this would be sparse clumps (more like on the right of the image)
"iterations": "math.clamp(math.trunc(math.ceil((q.noise(math.trunc(v.originx / 40), math.trunc(v.originz / 40))- 0.8) * 400)), 0, 80)",
This would be more like on the left of the image, sparsely scattered, a little more common in some areas than others:
"iterations": "math.clamp(math.trunc(math.ceil((q.noise(math.trunc(v.originx / 80), math.trunc(v.originz / 80)) + 0.1) * 20)), 0, 5)",
But play around with these numbers. The podzol goes along with the bamboo in this case. To make their frequency separate from each other you would need to rewrite the bamboo and podzol features that this feature rule places. Otherwise you can just leave the feature placement to be vanilla and you don't need to provide any feature files for that.
This was Mojang's vanilla definition for bamboo originally which makes it thicker and more common:
"iterations": "math.clamp(math.trunc(math.ceil((query.noise(math.trunc(variable.originx / 80), math.trunc(variable.originz / 80)) + 0.3) * 160)), 15, 160)",
But you don't need noise at all, you could just set iterations to a simple number like 3 for example, if you wanted 3 in every chunk, or "iterations":"math.random_integer(1, 5)", to always have randomly 1 to 5 bamboo in every chunk in biomes tagged bamboo and jungle.
For convenience
Quick question: It seems like my road structures (with terrain adaption) sometimes generate on top of other jigsaw structures. It doesn't happen that frequently, but it still does once in a while. Is this an issue on my side or is this a known jigsaw bug? I always believed the power of jigsaw was that it was content aware and never overlaps itself. Does anyone know more about this?
It’s a bug
Road pieces regenerate themselves which can lead to pieces being generated in ways that would overlap pieces placed by the first road
It's a known issue that Mojang claims is in parity with Java (it's not)
Ah alright, thanks for answering. I thought this bug was fixed once jigsaw became stable
What you want to do is make your y height like 25 when saving your road structures.
ah smart, thanks!
Really?
That’s how you fix it?
Yes.
So the road height where it is built solves the problem of roads overlapping structures in game. If that is true I want to ask how that was found out because that is really oddly specific solution to a problem.
Me and Poggy.
How did you find that out
Also the bug report seems to be MCPE-224012
Yeah that’s poggy’s report
Thanks vm
didn't seem to work
I should check my kindle though because for whatever reason my computer hates me and doesn't work half the time
So it works perfectly fine on my kindle but the second i try it on my computer and it doesn't
THIS IS THE SAME DAMN COMMAND
WHY IS IT DOING DIFFERENT THINGS WITH THE SAME PACK VERSION
the houses are generating normal its just the jobsites that generate properly on my kindle but not on my computer
waht the hell is happening here
even worse is the fact that I added this structure after making the changes needed for the jobsites to ruin them and this thing is working fine, no lights
Has anyone ever used the fallen trunk thing in the tree feature?
Is it actually a fallen tree or is that just a missleading tree
is it like this?
Yes that is a fallen trunk.
been trying to stitch together a mega structure of 96x96, but can't figure out how to get them to line up properly... they keep getting offset by 16 which I assume is because the origin is from a different chunk.
Anyone know what I 'm doing wrong?
(math.floor(v.worldx-v.originx)/48) == ((v.worldx-v.originx)/48) && (math.floor(v.worldz-v.originz)/48) == ((v.worldz-v.originz)/48)
I feel like this should work
Got it, apparently was just the format was incorrect, now just need to apply a formula
Is there a good formula for scattering sparsely? I found a noise formula, but the one I found makes diagonal groupings of 7 for some reason.
I have a pull request going to majorly update the jigsaw docs to make them more readable
The one I posted just above as an adaptation of a vanilla algorithm might work for you, though if that one is making diagonal groupings of 7, please let me know!
If you need more explanation of what the different number constants do to control the scattering, I can give that.
On the geode feature, all my crystals seem to get placed with the "block_face" "down" permutation rather than making them come out of the alternative_inner_layer. Amethyst seems to have no issues with the buds and cluster direction? https://learn.microsoft.com/en-us/minecraft/creator/reference/content/featuresreference/examples/features/minecraftgeode_feature?view=minecraft-bedrock-stable
Is your block using the same block traits?
It should be, from what I can tell, amethyst also uses block_face
"description": {
"identifier": "ores:health_cluster",
"menu_category": { "category": "construction" },
"traits": {
"minecraft:placement_position": {
"enabled_states": ["minecraft:block_face"]
}
}
},
Ah and they're all facing down? Does placing them normally work?
I haven't redone the textures to make my custom clusters red yet, but I can place them in all 6 directions manually
Including the smaller ones
Interesting, and you're just copy pasting the vanilla geode yeah?
Vanilla:
{
"format_version": "1.13.0",
"minecraft:geode_feature": {
"description": {
"identifier": "minecraft:amethyst_geode_feature"
},
"filler": "minecraft:air",
"inner_layer": "minecraft:amethyst_block",
"alternate_inner_layer": "minecraft:budding_amethyst",
"middle_layer": "minecraft:calcite",
"outer_layer": "minecraft:smooth_basalt",
"inner_placements": [
{
"name": "minecraft:amethyst_cluster"
},
{
"name": "minecraft:large_amethyst_bud"
},
{
"name": "minecraft:medium_amethyst_bud"
},
{
"name": "minecraft:small_amethyst_bud"
}
],
"min_outer_wall_distance": 4,
"max_outer_wall_distance": 7,
"min_distribution_points": 3,
"max_distribution_points": 5,
"min_point_offset": 1,
"max_point_offset": 3,
"max_radius": 16,
"crack_point_offset": 2.0,
"generate_crack_chance": 0.95,
"base_crack_size": 2.0,
"noise_multiplier": 0.025,
"use_potential_placements_chance": 0.35,
"use_alternate_layer0_chance": 0.083,
"placements_require_layer0_alternate": true,
"invalid_blocks_threshold": 1
}
}
Mine:
{
"format_version": "1.21.100",
"minecraft:geode_feature": {
"description": {
"identifier": "ores:health_crystal_geode_feature"
},
"filler": "minecraft:air",
"inner_layer": "ores:health_crystal_block",
"alternate_inner_layer": "ores:budding_health_crystal_block",
"middle_layer": "minecraft:calcite",
"outer_layer": "minecraft:smooth_basalt",
"inner_placements": [
{
"name": "ores:health_cluster"
},
{
"name": "ores:large_health_bud"
},
{
"name": "ores:medium_health_bud"
},
{
"name": "ores:small_health_bud"
}
],
"min_outer_wall_distance": 4,
"max_outer_wall_distance": 7,
"min_distribution_points": 3,
"max_distribution_points": 5,
"min_point_offset": 1,
"max_point_offset": 3,
"max_radius": 16,
"crack_point_offset": 2,
"generate_crack_chance": 0.95,
"base_crack_size": 2,
"noise_multiplier": 0.025,
"use_potential_placements_chance": 0.35,
"use_alternate_layer0_chance": 0.083,
"placements_require_layer0_alternate": true,
"invalid_blocks_threshold": 1
}
}
Main difference is the format version, everything else is the same
Format version didn't change anything, which I didn't really expect it to
Setting the inner placement to just minecraft:amethyst_cluster does the rotation correctly which suggests a block issue with my clusters
I'm guessing so too.
If I had to wager, block traits aren't really used in feature placement.
I am using geometry.cross, whereas I think amethyst clusters in vanilla use a custom geometry
That shouldn't matter as far as I know.
Pistons do really weird things. Some face inwards some face outwards
Though they do use a different rotation type, they are at least somewhat aware of direction
It could be related to my item texture always showing as the down permutation in the inventory picture, though, the permutations work with commands and placements as expected
The processor doesn't edit entities, right?
nope
Sad
Hi
How can i preslice the structure and position them like in the docs said.
I'm working on a giant tree feature but the tree is so big that the structure can't spawn properly in the world
Is there any way to save mobs in structures and have them change as if they had just spawned?
Nbt edit I guess.
Could it be? I was wanting to save wolves in a structure, but I'd like their sounds and variations to differ depending on the biome, just like when they spawn naturally.
Yeah
I use a completely invisible entity with only minecraft:physics and minecraft:transformation to turn it into the wanted mob after 4 seconds with the entity spawned event
It’s how I generate villagers with the proper biome skin in my custom villages and how I spawn the iron golem with the from_village event
The 4 second transform thing is so that I can save the mob and it’s jigsaw block into the structure file before it turns into the mob I want it to be
So the only way would be to use a custom entity or command block?
I think the custom entity is a good idea.
I hope that when the possibility of spawning mobs in Jigsaw becomes available, like at the pillager Post, they also add the option to spawn a limited number of mobs; that is, after spawning, for example, 2 mobs, it will not spawn any more.
Yeah, custom entity or command block
But one thing, does minecraft:transformation make the entity permanent or could it despawn?
The tree_feature
I changed 3 feature rule and these trees are spawning but that trees r not spawning
Oh you're asking which file not which feature.
I think so
To change birch tree we need to the birch surface tree feature for this what to change
The entity with the transform component will be deleted and replaced by the mob specified within the component
@upbeat barn to change birch i used this and for i used the feature rules but I don't why these trees r spawning to change themse what feature rule should I change
Sry I am weak at English
You can use execute to check for any player that dont have specific tag like "spawnmob_tag" To spawn the mob instead of the 4 sec timer. This way will give you more time to adjust the structure before save.
Just add your self the tag when building the structure
Does anyone know what format version I should use for biomes?
1.21.120 is the only working one iirc
Resource: 1.21.120
Behaviour: 1.21.110
according to the latest vanilla samples.
So you also want to remove jungle trees from jungles? (Jungle is a forest in a warm biome. Birch trees are only in temperate biomes = not warm, not icy cold.) What have you tried so far with these jungle feature rule files?
Did my example on how to make the bamboo spawn less in jungles work for you?
If you don't want bamboo to spawn at all, set the iterations field in the bamboo feature rule file to = 0.
Hey people
Just wanted to ask, how you guys make structures spawn naturaly?
I am almost breaking my head on the keyboard
I use jigsaws but features also work for simple structures
Any developments on this front? (removing mineshafts)
no
mineshafts aren't even jigsaws so I doubt that even is on the roadmap for mojang
frigggg. bruh come onnnnn. I just wanna delete the whole world.. shouldnt be this hard:/
It's work on custom blocks?
The jigsaw I mean
wdym?
they can generate custom blocks yeah
Ye it worked and changed the jungle trees thanks for telling about bamboo
Hold up, wait a minute
Also minecraft:block_ignore is in there as well
Json_schema also seems to say that projection in template pools can be useused regadless of element_type
Does anyone know if q.noise() repeats? I learned today it is apparently a common problem with Perlin functions when I got this in python's perlin_noise
So “minecraft:protected_blocks” seems to be a fully valid field according to bedrock samples metadata so I’m gonna test it when I get home. Also “minecraft:capped” and “minecraft:block_ignore” are present.
seems like it isn't actually valid
not sure why it's there
however, block_ignore seems to be valid
ill check rq
block_ignore did not throw a error
thats pretty big
block ignore is a valid processor
gonna test capped then protected_blocks again
capped is valid
and protected_blocks is valid
well guys thats 3 new processors I didn't know about
we got minecraft:block_protection processors so it is possible now
theoretically
what does that do?
it makes it so that if a block from a jigsaw structure places itself on a spot with a block specified with the processor it won't replace that block
you could make a giant cobble tower and make it not replace stone blocks
so you can make a base of a tower extend into the ground but not cut through it
it wont replace but it will stop the jigsaw gen also? I mean, it would be placing blocks infinitely; just because it encounters a block it can't replace doesn't mean it stops placing blocks, right?
this jigsaw was set to not replace mob spawners so it didn't replace them but placed everything else
no, everything will still generate unless the block set prior to its generation was one it was not allowed to
processors are applied after the structure is done placing pieces iirc
so you could make the bottom of the tower extend it's base to the ground replacing plants and grass but set the processor for the base to have a minecraft:protected_block processor to not overwrite blocks with the stone tag and then it won't overwrite those blocks
unfortunately we can only specify tags, not block id's
im gonna test it with something rq
I know, but if for example I have a layer of stones and air underneath (for example there's a cave), would the blocks replace the air below the layer of stones or would it stop above?
yeah it would
thats the problem with that
until we get feature_pool_element it will never truly work the same but this is very close to that

yeah its very close
foundation here broke the grass but not the stone
thats how tall it is and you can see that the grass was broken in the second image
@royal bison and @lament galleon thats a example file
you can place test:hut and test it out
best example so far
I'm gonna abuse the hell out of this
screw block_ignore and capped, protected_blocks is peak
this is the code for that
Noice, now I don't need to relly on bearding for terrain to blend. You've been a realy big help mate, I appreciate this allot))
ye
i might update my examples pack to make the example outpost use this
Can I generate a structure after the feature rules for that biome?
I think so with structure template features but not with jigsaws
I'm sorry I completely missed your reply. I ended up making my own with two frequencies I could change based on which structure group I wanted generated.
Ran into another problem now though. I've been trying to add a 1/3 probability using a second noise range, but it's kind of tricky.
One third probability of being placed once in a chunk, one third probability being placed any amount of times in a chunk, or one third probability being placed on a block?
Not sure how you want it. If you just want an even 33% chance you could use one of Molang's random functions (haven't tested yet how random it is in practice). If you want an overall 33% chance but with clustering in certain areas, noise is better. It's hard to know with q.noise what the value threshold for 33% chance below/above is, as I think they might have tweaked the regular Perlin probability distribution to favour the edges/extremes a little more (more values closer to -1 and 1). However, you could apply a test (could be with blocks very brightly coloured in a small area) with placing if noise value above 0.25 etc and which value seems to be about a third probability.
When I get time, if you reply, I can try to help more.
gtg
Well, from what I can understand noise is good because its predictable between different segments. I have a structure that is snapped to every 48 blocks. It's a structure that is 96x96x48. (4 segments of 484848).
I think that's what I'm trying to figure out at this point. From my testing it seems like I'm not even getting negative numbers. But just incase I was wrong I ended up just snapping my noise to positive with Math.abs().
But really to calculate the distribution I need to know how noise works. But haven't found anything solid on if it's 0, 1 or -1, 1.
Making a little post here in case anyone ever has to do this in the future since it seems very niche and it took a bit of testing for me to figure it out
if you intend to make a regenerable structure or for some other reason need to repeatedly randomly regenerate a structure at the same location (in my case I am making a dungeon that is always in the same location but randomly regenerates an interior - think traditional dungeon crawling type stuff), you will run into the problem that everything random about structure generation is actually dependent on a "seed" derived from the xyz placement of the structure.
In order to get around this, I have found that setting the structure to always generate at the same y-level (define in behavior pack\worldgen\structures\your file) will, as expected, make any command/script generation of this structure also always start at that y-level.
HOWEVER, the coordinate-dependent "seed" through which everything random is determined will use the input y-level and NOT the defined starting y-level. For example, a structure with a start_height set to 20 that is then spawned as coordinates [X 64 Z] will spawn at [X 20 Z], but will use the structure "seed" of [X 64 Z]. This functonally allows you to make your y coordinate into your own rng-able structure seed separate from how generation normally occurs - including with coordinates outside of the world! If it's not already obvious, doing this will require scripting.
So uh, hope this helps someone someday 👍
I can't get the variable.worldx and variable.worldz to work in feature_rules anyone else having issues with it?
So I'm new to adding structures to my addons and one I don't know how structure generation works and two what does this mean?
That’s just a structure file, it’s NBT data that’s being displayed weird
Jigsaw doesn't work in the Nether?
I think they do but kinda jankily
I tried using /locate structure on a Nether server and my game simply crashed.
odd
i swear its possible but it could be trying to place it in a spot that I can't
I finally managed it, but I also noticed that it seems the blocks below the structures aren't properly fitted.
I don’t think terrain adaptation works in the nether
Yea, I hope that Mojang will improve Jigsaw generation in the Nether and End in the future.
Does the feature ignore mobs saved in the structure?
It's strange at the end too, right? I think I'll leave it unused in this dimension and just use a structure in the nether.
Yeah
Yeah no terrain matching in the end but structures can generate there
Works well
That's unfortunate, so do I need to use a command block or a custom block to generate the mob?
Command block or custom block
I'm thinking of using custom blocks because command blocks can be disabled.
Yeah
It would be cool if Bedrock had the End biomes like Java, it would avoid problems like structures generating on the starting island lol
I hope that in this year, 2026, Jigsaw receives improvements, especially for dimensions like the Nether and the End.
Can this post assist me in multiple end Biome creation for bedrock?
Using Json Script?
Trying to figure out frequency. does multiplying the noise by a higher number really increase the probability it will land between two numbers?
For example if I increase v.r will that increase the probability of the return being true (1)?
v.var= 0.5;
v.r= [example number]
v.v= v.r*(q.noise((v.worldx * v.var),(v.worldz * v.var))); return (v.v >= 34 && v.v < 35);```
Hey everyone. Question, I've adjusted swamp.biome.json, changed the top material etc with random noise. In Single Player works this works perfectly fine, it replaces vanilla swamps as I want. But when I try it on a realm, none of these properties work? Any idea why? 🙏
Is it because it's a development pack, are versions different on realms/single player? Any clue?
Were you able to get decent ground placement? I'm generating some nether stuff too but most of my stuff is clipping in terrain
Just luck
Generation in the Nether is terrible.
For this reason I only used jigsaw in this structure since it can generate floating structures.
Yeaaa dang it's looking like floaters are the only way
I'll let you know if i find anything but it doesn't look like I'll learn anything new
For me I had to add in all possible blocks that it would need to replace in the “allowblocks” list. I’m not experienced enough to know if that’s needed for every type of feature tho. But that was my issue for my structures not spawning in the Nether recently @hard cipher @modest dune
Ahh you went for features in your generation? Unfortunately we don't have the same thing for jigsaws/worldgen. I've done features once with alright success but allowblocks is a good callout
Jigsaw does not have this field.
Ooooh gotcha, I didn’t realize you two were using those instead.
Are Jigsaws and world gen out if experimental?
Yes.
Excellent! 😈
Is it possible to use molang in jigsaw structures? Like for querying the worldx and worldz?
No.
Ty
are we able to use vanilla nbt structure files in custom jigsaws?
I would test but I think somebody already did on this server
also here is the vanilla trail ruins if anyone cares
Any legends here that are able to have a quick look at this puzzle? 🙏 https://discord.com/channels/523663022053392405/1445885390404845588
Hey Nova, what start_height is used for the terrain_matching to work? It seems to have broken, I updated recently and when I came back and fixed it the only value that works is constant which (I assume) flattens everything/turn everything into a rigid structure.
Wdym?
Terrain_matching is a template pool projection value
This,
it used to be
"start_height": 0
But then it needed to be replaced with this new one, I tried looking for more info about it and I couldn't really find a solution other than this which unfortunatley turns the whole structure rigid for some reason,
I did not edit any of the other code, just this one.
I’m not sure why it would do that as start_height just controls where the start piece generates based off heightmap_projection
I see, but it it's the only thing I edited after the update so I assumed it had to do something with it.
Though I'm still wondering on what you used just in case it fixes my issue or because I did something wrong.
It should be on wiki.bedrock.dev. The value I use for all my structures in in the example
"start_height": {
"type": "constant",
"value": {
"absolute": 0
}
},
That’s what I have for my custom swamp village
Wait is this a old jigsaw
Because they moved “projection” inside the object with things like “location” and “processors”
The default value for “projection” is rigid so it may be not seeing your projection as it is outside where it is now supposed to be and sets it to the default of rigid
Bro you would've used loot table right?
You don’t use loot tables for generating structures
No but for the loot inside
This is height projection right?
No “projection” in template pool elements
I think that’s what causing the problem
{
"element": {
"element_type": "minecraft:single_pool_element",
"location": "village/swamp/streets/straight_01",
"processors": "locdev:swamp_village_path_processor",
"projection": "terrain_matching"
},
"weight": 7
},
Projection is supposed to be in the element object now
Yeah It's already set to terrain_matching
Can I see it?
Oh inside niw
The template pool
You said you created a custom village so you would have used loot table for the chests inside right?
Yeah
Wait wrong one
https://discord.com/channels/523663022053392405/1446061398265299015
Can you help with this pls
Yeah you need to move projection in to the “element”: {}
Same for that one
Yeah it's outside
It’s supposed to be inside
It’s not been on the level with “element” and “weight” for a while
So I just line up it with the others within the element
and it'll be all good?
Yeah
But weight is outside then?
I see
I'll just reply back, need to test this out, but in all honestly these updates keep changing the locations of jigsaws, this is like the 4 or 5th time I need to check for updates.
They actually haven’t changed jigsaws in a while
I think the last change was 1.21.100
Ah, but yeah, thanks for tge help, I'll just tell you if it works
Alr
Can you help me with this pls
I don’t know what’s wrong with it
Seems to be something with the structure file but I don’t know what
That error came when we edit the the structure file but if we didn't edit it we can't add loot table
Also just quick question, what's the format version?
Nvm it worked now, Thanks mate))
I use 1.21.100
Anyone found a solution for larger structures getting cut off at biome borders?
Use jigsaws.
Thanks, using features right now. I would like to not have to learn jigsaw for this.
I’ll find an alternative then.
I went ahead and learned jigsaw 😂 . Anyone know how to force the direction to south or north for a jigsaw structure? I can't find any settings for that yet. I see something that might allow converting stairs to other data sets, but that might be a bit extensive for what I have.
You cant.
i'm looking to change the generation of a single biome crimson forest world such that the brunt of the world is made of netherack instead of having a thick underlayer of stone and has mostly typical nether ore deposit spread
step one is replacing all that stone and deepslate with netherack step two is filling it with ore
there are no guides on how to do this in my cursory youtube searches, is this harder than it sounds?
moving to #1447045795340746798
when loading structures through the structure block or the command does it require custom structures be in the /structure directory directly or can it be in a subdirectory? I have series of structures I want to load manually and are working fine with the jigsaw system but are not being found through the manual process