Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

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;
}

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

  • Author

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

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.

  • Author

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!

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.

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)?

  • Author

That totally worked!!! :D Thanks so much guys!! I really appreciate the help!!!

Guest
This topic is now closed to further replies.

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.