Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ability to tag selected chunks as "old" for blending #476

Open
I-Johnny5-I opened this issue Dec 4, 2021 · 13 comments
Open

Ability to tag selected chunks as "old" for blending #476

I-Johnny5-I opened this issue Dec 4, 2021 · 13 comments
Labels

Comments

@I-Johnny5-I
Copy link

I-Johnny5-I commented Dec 4, 2021

I looked into the region files of the worlds upgraded to 1.18. The only thing that is different between new and old chunks is "blending_data" - a compound tag that only converted chunks have. That tag is exactly what tells the game if the chunks nearby should be blended with it or not, but it seems like it doesn't matter which version of the game the chunk was generated with. I've managed to add this tag to some chunks on the edge of a region in a brand new world, then changed the seed with NBTStudio, removed surrounding regions and the new chunks have blended with the existing ones, despite the fact that they all were generated in 1.18.
Adding that tag to many chunks through NBTStudio is very tideous so it would be nice to have the ability to do that using Amulet.

This would make possible a lot of cool things.
For example, when 1.19 releases, instead of creating a new world or travelling far away to where chunks haven't generated yet just to find new biomes and structures, you would be able to just remove all the chunks except the ones with your builds, change the seed to make it generate different terrain, add that tag to remaining chunks and then the game will blend the new terrain with them.

Another example. You would be able to take chunks from multiple worlds and place them in one world so that the game will blend the terrain around them. It's actually already possible with chunks from older worlds, because they are tagged as old by the game itself, but in the future with chunks from 1.18+ it will be impossible, because non of them will be tagged and the terrain won't be blended. But, it will be possible, if we will have ability to tag chunks with the editor.

Such feature would also allow older Bedrock Edition worlds to be converted to Java Edition and to be blended in.

The tag:
tag

Apparently, Minecraft adds some "heights" data to "blending_data" tag during blending.
These "heights" should not be there if you want to repeat the blending process with other chunks.
Безымянный

Some pictures for better understanding.
This is what happens when game generates new terrain next to chunks from 1.17 and below:
g240436

And this is what it does if the existing chunks are from 1.18:
g207331

@I-Johnny5-I I-Johnny5-I changed the title Ability to mark selected chunks as "old" Ability to tag selected chunks as "old" for blending Dec 4, 2021
@mikezimm
Copy link

mikezimm commented Dec 6, 2021

@I-Johnny5-I , That is a really cool find. I was playing around with blending in Java and was able to do some really interesting things. If you can do what you were suggesting, you might be able to do things like this:

Jungle - Badlands mineshaft

This was a single jungle chunk put in position near a badlands mineshaft. You can't see it but in the Java screenshot but the blending was so smooth it planted some trees in the mineshaft.

I think Java blending is not the same as bedrock. Java blends over more chunks where bedrock seems to blend over 1 chunk.
image

Desert Oasis

This more like about 10 total chunks of jungle I brought into a normal desert. Makes it look like an oasis :)

image

Closeup of Badlands mineshaft

Blended in Java 1.18 Release
Yellow arrows show the mineshaft rails
image

@UsualNote1
Copy link

Just want to put in a vote for this feature. This would create all kinds of opportunities for effectively blending different worlds. Plus, it would allow blending from worlds created on the C&C Datapack, which isn't currently possible.

@Jason-Silla
Copy link

I really hope this gets added soon as it would be able to fix the #490 bug as @mikezimm mentioned. While it won't fix it when you load in the world for the first time, it will make it so that the chunks that have the void area underneath be able to generate the new caves, which happened to my world.

@cole00cole00
Copy link

I'd like to vote for this too - unless mojang lets us set junks to blend some otherway or in any version.

@nny1001
Copy link

nny1001 commented Apr 18, 2022

Would be super handy. As one might expect, many older worlds were vastly changed since 1.18. If I reset chunks as it stands now, there are hard lines cut everywhere where it was reset and it is really noticeable. I don't want to take the time to attempt to manually smooth this stuff out nor do I want to attempt to edit the chunks one by one using the prescribed method.. since it would be hundreds upon hundreds of them. It's worth noting that I am playing off an iPad on Bedrock.

@PREMIEREHELL
Copy link

Nice, if this works my blending plugin tool will work with both.

@PREMIEREHELL
Copy link

PREMIEREHELL commented Jul 4, 2022

Looks like you need to change the data version back to 2860 for it to work

@PREMIEREHELL
Copy link

Its released, #plugin showcase Amulet discord. On my github.

@nny1001
Copy link

nny1001 commented Jul 5, 2022

Its released, #plugin showcase Amulet discord. On my github.

Color me dumb as hell, but how does one go about attempting to use your plugin?

@PREMIEREHELL
Copy link

Its released, #plugin showcase Amulet discord. On my github.

Color me dumb as hell, but how does one go about attempting to use your plugin?

Save the raw .py file to Amulet/plugins/operations and hit the reload button on the list of operations.

@nny1001
Copy link

nny1001 commented Jul 5, 2022

Its released, #plugin showcase Amulet discord. On my github.

Color me dumb as hell, but how does one go about attempting to use your plugin?

Save the raw .py file to Amulet/plugins/operations and hit the reload button on the list of operations.

Any chance you know the file path for Mac? It's being run through terminal and python, so I am at a loss. I have tried digging for a plugins folder but have come up empty.

@PREMIEREHELL
Copy link

its location is like /home/peter/.local/lib/python3.4/site-packages
try in the terminal
cd home
ls
"find your NAME" TAB should work
cd NAME
cd .local/lib/
HIT TAB TAB
till you see
.local/lib/site-packages
then
cd TAB till you see amulet_map_editor
make your way to plugins operations

@alexiscoutinho
Copy link

By the way, MCA Selector already has this feature. Just beware of Querz/mcaselector#377 though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

9 participants