Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Where to start with multi_noise biome source tweak [1.16.4]


Recommended Posts

Hey, first time poster here

I'm currently working on a terrain generation datapack for an "underdark" dimension, and after learning a bit about the systems for multi_noise biome placement (mostly   from this excellent video and this wiki page) i had an idea for a simple (i think) mod that would work well with in tandem with my concept.

 

From what i understand (and let me know if anything is wrong), the multi_noise biome source uses 4 noise distributions; temperature, humidity, altitude, and weirdness, which are all "Perlin" Noise. These are used to decide where to put each biome based on the biome's own set values for these parameters. My idea is to change one of the perimeters, lets say temperature, to something resembling a circular gradient with a value of 0 at spawn that gradually increases to 2 consistently in all directions. This would create a world that has only cold biomes near the center, but gradually transitions into warmer biomes the further a player goes from spawn, until at some point only desert and badlands would be generated. For my purposes, i would use the parameter as a sort of difficulty slider, which the datapack would use to generate increasingly dangerous custom biomes containing more valuable resources the further away from the safe spawn biomes a player ventures.

 

My question is how difficult would something like this be for a first time molder with a good amount of university coding experience to implement? Ideally, this would be server side so players could join in vanilla as well.

I took a look at some other World Generation mods on GitHub, but it's pretty hard to find exactly what I'm looking for with all of the other features in those mod and my lack of experience.

 

Any help would be greatly appreciated!

 

Link to post
Share on other sites
  • 2 weeks later...

Hello, I've started learning world gen recently, so my answer may not be very accurate. 

Try looking into BiomeProvider.class. There is a static block at the end where vanilla registers those BiomeProviders (vanilla_layered, multi_noise...). Maybe (and again, I have no clue if this is correct), you can create a new BiomeProvider based on that multi_noise one (NetherBiomeProvider) and then register it by using a RegistryEvent.Register<Biome>. 

Link to post
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.

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



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • This is also the case, if I specify a position that is outside of these 8 chunks, there is an error on the console, but if I try to place a block outside of a 3 chunk radius, no block is placed, as already said outside the area no chunk seems to exist   this is my feature: public class HardDeepslateFeature extends Feature<NoFeatureConfig> { public HardDeepslateFeature() { super(NoFeatureConfig.CODEC); } @Override public boolean place(ISeedReader seedReader, ChunkGenerator chunkGenerator, Random rng, BlockPos pos, NoFeatureConfig config) { Chunk chunk = (Chunk) seedReader.getChunk(pos); if (chunk.getPos().x % 20 == 0 && chunk.getPos().z % 20 == 0) { this.placeOre(seedReader, rng, pos); } return true; } protected void placeOre(ISeedReader seedReader, Random rng, BlockPos pos) { // Main Ore int y = MathHelper.nextInt(rng, 32, 128); this.generateOreVine(seedReader, rng, this.getNextPos(pos, 8, 8), y, 10); // Ore in chunk +1 +1 this.generateOreVine(seedReader, rng, this.getNextPos(pos, 24, 24), y, 20); // Ore in chunk +1 -1 this.generateOreVine(seedReader, rng, this.getNextPos(pos, 24, -24), y, 20); // Ore in chunk -1 +1 this.generateOreVine(seedReader, rng, this.getNextPos(pos, -24, 24), y, 20); // Ore in chunk -1 -1 this.generateOreVine(seedReader, rng, this.getNextPos(pos, -24, -24), y, 20); // Ore in chunk +5 +5 this.generateOreVine(seedReader, rng, this.getNextPos(pos, 88, 88), y, 40); // Ore in chunk +5 -5 this.generateOreVine(seedReader, rng, this.getNextPos(pos, 88, -88), y, 40); // Ore in chunk -5 +5 this.generateOreVine(seedReader, rng, this.getNextPos(pos, -88, 88), y, 40); // Ore in chunk -5 -5 this.generateOreVine(seedReader, rng, this.getNextPos(pos, -88, -88), y, 40); } protected BlockPos getNextPos(BlockPos pos, int x, int z) { return new BlockPos(z, pos.getY(), z); } // generate horizontal vine protected void generateOreVine(ISeedReader seedReader, Random rng, BlockPos pos, int y, int count) { int x = MathHelper.nextInt(rng, 0, 15); int z = MathHelper.nextInt(rng, 0, 15); for (int i = y; i < y + count; i++) { seedReader.setBlock(new BlockPos(pos.getX() + x, i, pos.getZ() + z), ModBlocks.HARD_DEEPSLATE.get().defaultBlockState(), i); } } }  
    • so my cousin just got minecraft java and installed forge, she installed forge and it wasnt appearing as a version, not as an installation file, nothing. So then we went to look at %appdata% to take a look at the versions folder, it wasnt there, we been researching for about 2 hours now looking for solutions but we havent found anything, any possible probblems? and solutions?
    • I've made an event for my custom enchantment, and it need to change the player's speed. I tried to use PlayerEntity#addPotionEffect but it did bad with the player who has speed effect. How can I just modify the speed of the player?
    • oh, I see no, if you to modify the behaviour you need to create your own furnace class, Tile Entity, Container, Screen and Block and handle all your logic from there at the moment you are simply creating a new vanilla furnace, and you can't do that kind of modification from there if you want some examples, this repository has some on how to create custom tile entities: minecraftbyexample/mbe31_inventory_furnace
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.