Jump to content

Recommended Posts

Posted

I'm trying to create a biome with a nice light blue tint to grass, similar to the Mystic Grove from Biomes o' Pleanty. But what I've found is either I'm not using this.setcolor() or some other biome color-izer correctly, or it is impossible without a custom foliage file. So what do I have to do to get this to work the way I want it to? Thanks!

 

Here's my code for the biome:

 

package com.camp.world;

import net.minecraft.world.biome.BiomeGenBase;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

public class BiomeMysticForest extends BiomeGenBase {

private static final Height biomeHeight = new Height(0.1F, 0.2F);

public BiomeMysticForest(int id) {
	super(id);

	this.setHeight(biomeHeight);
        this.setColor(6937835);
        this.setTemperatureRainfall(0.7F, 1.0F);
	this.waterColorMultiplier = 8874485;

	this.theBiomeDecorator.treesPerChunk = 9;
	this.theBiomeDecorator.grassPerChunk = 15;
}

    public int getBiomeGrassColor(int p_150558_1_, int p_150558_2_, int p_150558_3_)
    {
	return 6937835;
}

    public int getBiomeFoliageColor(int x, int y, int z)
{
	return 5954640;
}

Posted

My first post helping others :D so proud rn.

 

Anyways. when you extend the BiomeGenBase, you get something called this.topBlock

What this.topBlock does is sets the block on the (lol) first layer of the biome, aka the top, to a block you specify. If you want to make this a different colored grass, you should make another class and create a block called DarkGrass (or something) and make it extend BlockGrass, or if that's not a thing, then give it the properties of a grass block, which shouldn't be that hard.

 

 

You would use this.topBlock like this: this.topBlock = BlockManager.yourCustomBlock.getDefaultState();

 

Sorry if this is confusing, I'm writing this while playing euchre and without access to my computer right now lol

Posted

So you would have to create another block that mimics grass?

 

That would strike me as the easiest way, yes. View my GitHub if you have trouble creating your block code -> https://github.com/Runner55/Gems

 

I'll try to think of an easier way to solve this though, in the meantime.

Posted

Alright! Thanks a ton for the help! :D In the meantime if anybody knows if it's possible to accomplish this with vanilla grass, I would appreciate the help! Thanks again Ytt!

Posted

Alright! Thanks a ton for the help! :D In the meantime if anybody knows if it's possible to accomplish this with vanilla grass, I would appreciate the help! Thanks again Ytt!

 

Override the

BiomeGenBase#getGrassColorAtPos

method that Failender mentioned.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Posted

Alright! Thanks a ton for the help! :D In the meantime if anybody knows if it's possible to accomplish this with vanilla grass, I would appreciate the help! Thanks again Ytt!

Np, I'm sure there's an easier way to accomplish this though

 

Override the

BiomeGenBase#getGrassColorAtPos

method that Failender mentioned.

;-; never looked at that in the BiomeGenBase class. Would it change the color of the entire block or just the top layer (green)?

Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

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