Topic category: Help with Minecraft modding (Java Edition)
What I am trying to do, is make it so specific custom ores will not generate in the overworld, until any player has gotten a specific advancment. For more clairity, if I create six custom ores, all one level higher than the previous, starting one level higher than diamond, I am trying to keep the fourth ore from spawning, until the first ore has been found, and given the advancment for finding the first ore, and keep the fifth ore from spawning until you find the second ore and get the advancment for the fifth ore.
I do not think that the additional generation condition under blocks is what I need to use for this. If anybody knows of a way that I could acheive this, please let me know.
I should also state that I am using the latest version of MCreator, and trying to create a forge mod targeting 1.15.2.
This is not possible for two reasons:
A bit less than ideal, but a way this could be sorta achieved is by having a requirement for the ore spawning being a player has the achievement. Pretty simple, but it'll only generate that ore in spots of the world that have yet to be loaded.
Using procedures, you could probably have it so upon getting the achievement, it checks random coords for the ores other requirements before setting those blocks to the ore, though, this would more than likely lag the game into oblivion.
So yeah, it isn't possible to do neatly I don't think.
Sorry for the late replys.
Chapface, I am mainly trying to get it so it only will generate in chunks that havent been loaded yet, after the player gets a specific advandment. And I want the requirement for ore to be either a player getting a specific advandment, or the player getting an advancement that tells the server to change a bool to true for the spawning?
Klemen, would there be a way for it to work this way? Because again, I am mainly trying to just replace the ore at spawn, or have some way to add an advancement requirement or boolean requirement before spawning?
I could have found a work around that works, I have made a custom variable boolean as a map variable, and whenever a player mines a specific block, it makes the boolean true. Then I have another block that has an addition generation condition, that returns that value, so generation wont happen, unless the specific block is found AND mined by a player, not destroyed by an entity.
I will repost if this actually works, or if it is a fail, once I am able to test it.