Jump to content

Get World Height?


pro-mole

Recommended Posts

So, this is one of those things I could find out with extensive testing, but it'll be hours until I get home and I'm also hoping somone else will be benefitted by this post.

 

Simple question, then: world.getHeightValue(x,z) will return what Y value, by definition? And more specifically, if I use this function in an area where there's a tree, will it get me the height of the leaves or the height of the ground under it?

Link to comment
Share on other sites

welll .. you could have looked at the code directly (unless you dont ahve access from where you are) but it will return the first opaque bloc (aka leaves no, wood yes)

how to debug 101:http://www.minecraftforge.net/wiki/Debug_101

-hydroflame, author of the forge revolution-

Link to comment
Share on other sites

Yea... actually no. I'm using that function to try and find trees for my worldGen. My problem, though, is not that the gen is made too early but:

 

a) This function returns the y value of the block just above the top most for given X and Z(i.e., it's an air block)

 

and b) It does not make any distinction between solid blocks or not. I got both water and leaves on the position just below that value.

 

Thanks for the prompt reply, guys, but you might be thinking of a different version of the code(I'm working with 1.5.2).

Link to comment
Share on other sites

for(int i = 0; i < 256; i++){
    if(world.getBlockID(x, i, z) == 0){
        return i;
    }
}

 

and or check that the block id is part of those you want to be considered max

 

 

how to debug 101:http://www.minecraftforge.net/wiki/Debug_101

-hydroflame, author of the forge revolution-

Link to comment
Share on other sites

I am doing loops, but trying to reduce them. I already get some hiccups when generating new chunks as it is, I'd like my code to be minimally leaner.

 

Besides, I can use getHeightValue, I just need to check a few blocks down in these cases. I wanted to clarify because the documentation is vague and the code isn't much better either(it just takes this value from an array, but doesn't explain where this array is filled).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.