don't do connected grass textures on snow-covered grass

This commit is contained in:
octarine-noise
2014-08-21 15:22:12 +02:00
parent 98ca2ae284
commit 4bc6a4a2f9
2 changed files with 18 additions and 5 deletions
@@ -8,9 +8,9 @@ import mods.betterfoliage.client.render.RenderBlockAOBase;
import mods.betterfoliage.common.config.Config;
import mods.betterfoliage.common.util.Double3;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.init.Blocks;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraftforge.client.event.TextureStitchEvent;
@@ -28,6 +28,7 @@ public class RenderBlockBetterGrass extends RenderBlockAOBase implements IRender
public IIcon snowGrassGenIcon;
protected IIcon grassTopIcon;
boolean isSnowTop;
protected boolean connectXP, connectXN, connectZP, connectZN;
public boolean isBlockAccepted(IBlockAccess blockAccess, int x, int y, int z, Block block, int original) {
@@ -44,7 +45,8 @@ public class RenderBlockBetterGrass extends RenderBlockAOBase implements IRender
renderWorldBlockBase(1, world, x, y, z, block, modelId, renderer);
if (!Config.grassEnabled) return true;
boolean isSnowTop = blockAccess.getBlock(x, y + 1, z) == Blocks.snow_layer;
Material topMaterial = blockAccess.getBlock(x, y + 1, z).getMaterial();
isSnowTop = (topMaterial == Material.snow || topMaterial == Material.craftedSnow);
boolean isAirTop = blockAccess.isAirBlock(x, y + 1, z);
if (isSnowTop || isAirTop) {
@@ -75,6 +77,13 @@ public class RenderBlockBetterGrass extends RenderBlockAOBase implements IRender
}
protected void checkConnectedGrass(int x, int y, int z) {
if (isSnowTop) {
connectXP = false;
connectXN = false;
connectZP = false;
connectZN = false;
return;
}
Block blockBelow = blockAccess.getBlock(x, y - 1, z);
if (Config.ctxGrassAggressiveEnabled && (Config.grass.matchesID(blockBelow) || Config.dirt.matchesID(blockBelow))) {
connectXP = true;