Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

Hello, I was wondering how Minecraft spawns well on ground level, as it is just spawned with minY = 64 and maxY = 78

Source from StructureVillagePieces.Well :

this.boundingBox = new StructureBoundingBox(x, 64, z, x + 6 - 1, 78, z + 6 - 1);

 

Does anyone have any idea about it ?

Edited by Dylem

  • Author

Let me precise that my goal is to find the height without having access to world, because I need it in a function that doesn't take World as argument.

 

For now I do it like that (but as I said this does only work in functions that take World as parameter):

worldIn.getHeight(X, Z)

 

Edited by Dylem

  • Author
1 hour ago, diesieben07 said:

There is no way to get the height without having the world. How would you specify which dimension you want? What function are you talking about?

Well, if I could understand how it spawns, I could get it without world. I'm searching mostly for a function about villages (the well is the village start point but when i request start height it also tells me 64).. I found an other method to get it without world, with average ground level of village and then check for blocks but its a bit too tricky

  • Author
On 6/16/2017 at 0:06 PM, diesieben07 said:

I... what? What are you trying to achieve exactly?

I'm trying to embellish the well structure, and I didn't find an other way to achieve that than extending village to spawn my blocks on village spawn, then find the well and modify it.

This is how I get X and Z :

public static Welllus createPiece(StructureVillagePieces.Start start, int type, Random rand) {
        int x = start.getBoundingBox().minX;
        int z = start.getBoundingBox().minZ;
        
        EnumFacing facing = EnumFacing.EAST;
        
        StructureBoundingBox sbb = StructureBoundingBox.getComponentToAddBoundingBox(x, 64, z, 0, 0, 0, 4, 3, 4, facing);
        return new WellPlus(start, type, rand, sbb, facing);
    }

I hope it is more clear now. The problem is I can get the Y position in addComponentParts, but it means I need to modify the bounding box previously created and it's not working properly that way (and not optimized either).

 

I call createPiece from my handler there :

@Override
    public Village buildComponent(PieceWeight villagePiece, Start startPiece, List<StructureComponent> pieces, Random random, int p1, int p2, int p3, EnumFacing facing, int p5) {
        
        return WellPlus.createPiece(startPiece, p5, random);
    }

 

Note : Sorry if I'm not clear, english is my 3rd language

Edited by Dylem

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...

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.