toolbox4minecraft / amidst

Advanced Minecraft Interface and Data/Structure Tracking
GNU General Public License v3.0
2.15k stars 240 forks source link

Reading region files to calculate the position of dungeons. #57

Open pokeball99 opened 8 years ago

pokeball99 commented 8 years ago

i know this was probably asked a lot over on the mc forum(couldn't find an issue for it on the original repo), but there really should be a option for finding dungeons. while it might be a little much for it to show every possible dungeon( its possible for there to be 8 dungeons to gen in a single chunk), but maybe have it for double or triple or up to a 72 range( the theoretical max number of possible spawners that could be made active at once) sorry for the word vomit

stefandollase commented 8 years ago

Thanks for the suggestion. You are talking about the dungeons with mossy cobblestone, chests and a zombie, skeleton or spider spawner in the middle, right?

I am relatively new to the project, so maybe @Treer or @BigAlanM know about the complexity of the implementation and why it is not yet included in Amidst. To me, it seems logical to include dungeons.

Treer commented 8 years ago

Unfortunately, the rules that determine whether a dungeon is spawned depend on the land being fully generated, i.e. you have to know where all the surrounding blocks will be, and Amidst doesn't generate all the blocks so it can't know where dungeons will be.

Treer commented 8 years ago

We'll probably be asked to add dungeons regularly. For future reference, here's a way for players to find dungeons:

  1. First you want to force Minecraft to fully generate each chunk in the area you want to search. It looks like Minecraft Land Generator will do that for you.
  2. Next, you need something to scan through those chunks searching for dungeons. Minutor can do this, but there might be even better tools out there. Minutor can be found here.

I've not tried it myself

Treer commented 8 years ago

Perhaps someone could add a simple scanner to Amidst that searches for spawners through whatever chunks of the map minecraft has already generated (step 2, above), but this poses a user interface issue because the generated chunks are in saved games, whereas Amidst currently loads profiles.

stefandollase commented 8 years ago

Thanks for the clarification. It is really unfortunate that this is not easily possible.

Regarding the user interface issue: Amidst is already able to open specific world saves. This is how the player moving works. Thus, I do not see an issue here.

However, my understanding of this (step 2) is, that we would need to read the region files. We closed issue #19 because we thought reading the region files is out of the scope of Amidst. Do you have a different opinion on that?

Treer commented 8 years ago

Good point about moving players = world saves. I'd never used that feature or looked at the code, or looked into the data format. I should probably learn that stuff - it makes #19 and/or dungeons a much more interesting proposal.

Regarding scope, #19 and dungeons are out of scope, but end islands would also have been out of scope. So I reckon if someone went on a coding binge and was able to implement one or more of those features while:

Then Amidst would become an even more useful tool. So it's out of scope unless someone wants to gear up and extend the scope themselves. which could be a fun challenge and I would definitely be interested if I had time (I don't have time, plus I have existing features like export to work on).

tl;dr we should never promise it, but if someone wanted to try...

stefandollase commented 8 years ago

Okay, I agree with that opinion. We should find a way to remember feature requests that are good, but currently out of scope.

I think I will go with the first and third point and refer to the label from the getting involved page.

pokeball99 commented 8 years ago

well, http://zipkrowd.com/tools.htm might be of some use, given that its not directly pulled from the mc source code like amidst is now, and that this could also in turn be able to either 1. have a basic plugin system for amidst, or 2. maybe just importing the plugins that have been made so far by those guys(quad witch hut and such)

ghost commented 8 years ago

Minutor v2 works quite well for finding dungeons if you download the "dungeon finder" resource pack for it.
It does this by making all but dungeon specific blocks invisible so you get a black map with only the dungeons and a few scattered blocks showing up. Of course it can only display dungeons in chunks that have actually been created by running Minecraft with that world and traveling around.

pokeball99 commented 8 years ago

@stefandollase apon further look into the zipkrowd seed finder, it seems that the guy had made an optimized algorithm for minecraft world generation. its under net/minecraft(1(5/7)) when viewing it in the java decompiler of so maybe this could be hacked together into amidst or such

pokeball99 commented 8 years ago

any update on this?

stefandollase commented 8 years ago

@pokeball99 This will be out of scope until somebody makes an effort to implement it. I will probably not be the one. This is the reason why it has the currently-out-of-scope label.

FreshLine commented 5 years ago

https://chunkbase.com/apps/dungeon-finder chunkbase website is currently doing it so i guess it is possible ?

FreshLine commented 5 years ago

https://chunkbase.com/apps/dungeon-finder chunkbase website is currently doing it so i guess it is possible ?

the chunk generation in their website is slower with dungeon finder than their other structures finding tools so i guess it use and optimized world generation algorithm

LDVSOFT commented 4 years ago

ChunkBase dungeon finder looks broken to me, it cannot find spawner I've found in my world right beneath my base.

Eiion commented 3 years ago

ChunkBase dungeon finder looks broken to me, it cannot find spawner I've found in my world right beneath my base.

It works fine for me. But it only finds dungeons not e.g. random spider spawners in mineshafts.