Jump to content

Recommended Posts

Posted (edited)

Hello! Sorry for my Eng.

I created a new biome, and now I need to replace default Minecraft stone with my custom block (AmbientBlocks.Blocks.stone.getDefaultState()). How I can do this?

My biome code:

public class TerraForestBiome extends Biome {
    public TerraForestBiome(Builder biomeBuilder) {
        super((new Biome.Builder()
                .surfaceBuilder(new ConfiguredSurfaceBuilder<SurfaceBuilderConfig>(SurfaceBuilder.DEFAULT, new SurfaceBuilderConfig(
                        AmbientBlocks.Blocks.grass.getDefaultState(),
                        AmbientBlocks.Blocks.dirt.getDefaultState(),
                        AmbientBlocks.Blocks.stone.getDefaultState())))
                .precipitation(RainType.RAIN)
                .category(Category.PLAINS)
                .downfall(0.25F)
                .depth(0.1F)
                .scale(0.3F)
                .temperature(0.8F)
                .waterColor(4159204)
                .waterFogColor(329011)
                .parent(null)));
    }
}

 

Edited by SSKirillSS
Posted (edited)
29 minutes ago, SSKirillSS said:

Maybe surfaceBuilder override

I don't think SurfaceBuilder is what you want to look at, as that only builds the surface.

Probably check out ChunkGenerators, I see in net.minecraft.world.gen.GenerationSettings there is a defaultBlock field that seems to default to stone.

 

*edit: looking a little bit more, it almost seems as if the default block is determined by the dimension as opposed to the biome.

Edited by Ugdhar
Posted
18 minutes ago, SSKirillSS said:

So I can’t change this block without creating my own dimension?

It looks like the easiest way to do this would be to add a feature to your biome(s) that replace all of the Stone blocks with whatever block you want. However if you feel adventurous feel free to look into GenerationSettings::defaultBlock and changing that between the block that you want to use and the vanilla Stone block.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Posted
12 minutes ago, Animefan8888 said:

and changing that between the block that you want to use and the vanilla Stone block

How I can do this? Will I need make own GenerationSettings extends default, and override that's variable?

Posted
2 minutes ago, SSKirillSS said:

How I can do this? Will I need make own GenerationSettings extends default, and override that's variable?

I'm not sure. If I had more time I could look into it. Why not look into it yourself

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Posted (edited)
24 minutes ago, Animefan8888 said:

Show what you've tried.

Everything was limited to the search for methods of changing the stone through the biome, but they could not be found. The only sure way to change the value of that variable with a stone (GenerationSettings#defaultBlock), but I don't know how to change a variable without processing almost the entire generation logic. It's like creating a separate world...

I have not yet considered the option of replacing the stone with my block at the generation stage, since I hope that there is a more correct way.

Edited by SSKirillSS
  • 1 month later...
Posted

You need to do it in a new dimension.

You can add it directly to your GenerationSetting.

 

public class ModGenSettings extends GenerationSettings{

    public ModGenSettings () {
        this.setDefaultBlock( YOUR_BLOCK.get().getDefaultState().getBlockState() );
    }

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.