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

How Would I Make My Custom Block Carvable to Caves


Recommended Posts

So I have created a world type that currently spawns my own custom biome and I also found a way to override stone as the block type, and I can set the world to generate and block that I wish. Structures like mineshafts spawn in this world because I have them added in the biome, however caves won't be generated. I think this is because my block isn't set as a carvable type of block which are found in the WorldCarver class. I'm not sure how I would set my Custom block to be carved for caves. 

Link to post
Share on other sites
3 hours ago, HappyPants said:

I also found a way to override stone as the block type

Out if curiosity, how did you do this?

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Link to post
Share on other sites
52 minutes ago, Cadiboo said:

Out if curiosity, how did you do this?

I created a new class that extends the OverWorldGenSetttings, and override the function to get the block state. Heres the code my world type where I use my custom Gen Settings that extend OverWorldGenSettings

public class ModWorldType extends WorldType
{

	public ModWorldType() 
	{
		super("modworld_type");
	}

	@Override
	public ChunkGenerator<?> createChunkGenerator(World world) {
			ModGenSettings settings = new ModGenSettings();
			SingleBiomeProviderSettings single = new SingleBiomeProviderSettings(world.getWorldInfo());
			
			return new OverworldChunkGenerator(world, new ModBiomeProvider(), settings);
	}
	
}

 

Here is my Custom Gen Settings Class that extends OverWorldGenSettings. 

public class ModGenSettings extends OverworldGenSettings
{
	   private final int field_202212_j = 4;
	   private final int field_202213_k = 4;
	   private final int field_202214_l = -1;
	   private final int field_202215_m = 63;
	   
	   @Override
	   public BlockState getDefaultBlock() {
	   		return Blocks.BLACK_STAINED_GLASS.getDefaultState();
	   }

	   
	   public int getBiomeSize() {
	      return 4;
	   }

	   public int getRiverSize() {
	      return 4;
	   }

	   public int getBiomeId() {
	      return -1;
	   }

	   public int getBedrockFloorHeight() {
	      return 0;
	   }
}

(My formatting sucks because I've been messing around with a lot of things)

Link to post
Share on other sites

Theres actually a better way to do this, by calling the setDefaultBlock function in GenerationSettings

	@Override
	public ChunkGenerator<?> createChunkGenerator(World world) {
			OverworldGenSettings settings = new OverworldGenSettings();
			
			settings.setDefaultBlock(Blocks.GRANITE.getDefaultState());
			
			return new OverworldChunkGenerator(world, new ModBiomeProvider(), settings) ;
	}

 

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.



×
×
  • Create New...

Important Information

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