From 97f528d4260ab9dba168cea194cd33ef218a84c7 Mon Sep 17 00:00:00 2001 From: octarine-noise Date: Tue, 12 Aug 2014 19:04:10 +0200 Subject: [PATCH] add compatibility for custom grass block renderers --- .../client/render/impl/RenderBlockBetterGrass.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/mods/betterfoliage/client/render/impl/RenderBlockBetterGrass.java b/src/main/java/mods/betterfoliage/client/render/impl/RenderBlockBetterGrass.java index dc9e821..38d493f 100644 --- a/src/main/java/mods/betterfoliage/client/render/impl/RenderBlockBetterGrass.java +++ b/src/main/java/mods/betterfoliage/client/render/impl/RenderBlockBetterGrass.java @@ -7,8 +7,8 @@ import mods.betterfoliage.client.render.IRenderBlockDecorator; import mods.betterfoliage.client.render.IconSet; import mods.betterfoliage.client.render.RenderBlockAOBase; import mods.betterfoliage.common.util.Double3; +import mods.betterfoliage.common.util.Utils; import net.minecraft.block.Block; -import net.minecraft.block.BlockGrass; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; import net.minecraft.init.Blocks; @@ -16,6 +16,7 @@ import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraftforge.client.event.TextureStitchEvent; import net.minecraftforge.common.util.ForgeDirection; +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -50,14 +51,19 @@ public class RenderBlockBetterGrass extends RenderBlockAOBase implements IRender // render grass block setPassCounters(1); setRenderBoundsFromBlock(block); - renderStandardBlock(block, x, y, z); + if (block.getRenderType() == 0) { + renderStandardBlock(block, x, y, z); + } else { + ISimpleBlockRenderingHandler handler = Utils.getRenderingHandler(block.getRenderType()); + handler.renderWorldBlock(world, x, y, z, block, block.getRenderType(), this); + } int variation = getSemiRandomFromPos(x, y, z, 0); int heightVariation = getSemiRandomFromPos(x, y, z, 1); boolean isSnowed = blockAccess.getBlock(x, y + 1, z) == Blocks.snow_layer; IIcon renderIcon = null; - if (block instanceof BlockGrass) { + if (BetterFoliageClient.grass.matchesID(block)) { if (BetterFoliage.config.grassUseGenerated) { renderIcon = isSnowed ? snowGrassGenIcon : grassGenIcon; } else {