Jump to content

[1.16.X] How to generate ores next to other features.


Noriel_Sylvire

Recommended Posts

This is my first attempt at modding minecraft.

I already coded some normal, biome-specific ores. Now I want an ore that only generates close to underground lava pools.

I had a few ideas for example I tried to see how the game spawned sugarcanes to see if they had a method for finding if a block is near another block and all I could find is that vanilla game sugarcanes have an attribute called requiresWater inside BlockClusterFeatureConfig class, withing the net.minecraft.world.gen.feature package. But I haven't been able to find anywhere where that is being used for anything.

I'm gonna try and look at how the game spawns beehives as they are a feature (BEEHIVE) that spawns attached to another feature (TREE's). Which is exactly what I'm looking for (ore features spawning next to underground lava pools)

 

But as I said I'm a noob, anyone has any idea on how to go about implementing this?

I also came up with a "dirty" way of doing this, by having a whole bunch of these ores spawn in a specific biome, and after one tick if they aren't withing 3 blocks of an underground lava pool they despawn. But I think this would be a waste of resources, no?

And I still don't know how to do this either.

Any help is welcome, and thank you all in advance! Have a great day!

Link to comment
Share on other sites

I'm not on my dev machine so I can't check the code myself, but I'm fairly certain the bee nest generation is attached to and triggered by the tree generation itself. If you want to use that approach, you'll need to hook into the lava pool generation, which I suspect is pretty difficult.

Alternatively, I took a peek at some world gen stuff, and have you considered making the valid replacement block be lava source blocks instead of stone? It has the small chance of completely filling an underground lava pool, but otherwise I think it might do what you need.

Edited by InspectorCaracal
word choice
  • Like 1
Link to comment
Share on other sites

Thanks for the info!

I have considered that but I believe that would make the ores generate floating in or on the surface of the pools, which isn't what I was planning.

It could, however, work if I changed the texture to something that doesn't look like stone, and I add a piece of lore saying it's an ore that forms floating in lava pools, when the lava slowly cools down.

This is brilliant, but just in case I need this for something else, don't you know a way to hook into the generation of specific features?

In any case, I'll start working into this and I'll add you to the credits!! Thanks!!!!

Link to comment
Share on other sites

1 minute ago, InspectorCaracal said:

Unfortunately I'm also new to modding, so I'm not that familiar with the full code base. Maybe someone else'll know? I still definitely recommend looking into where in the original source the lava pools are spawned and seeing if there's anything you can hook into there, just in case.

Well, my friend, it completely worked! Easy, brilliant and simple way to make this. I cannot confirm if the ores spawn only on the surface of lava pools or also floating inside them as all the pools I've found were 1 block deep. It's not exaactly what I envisioned, but for the cool, easy to implement idea, I thank you, and added you to the acknowledgements. 

  • Like 1
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.

Announcements



×
×
  • Create New...

Important Information

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