add support for arbitrary grass and dirt blocks
This commit is contained in:
@@ -34,6 +34,8 @@ public class BetterFoliageClient {
|
|||||||
|
|
||||||
public static BlockMatcher leaves = new BlockMatcher();
|
public static BlockMatcher leaves = new BlockMatcher();
|
||||||
public static BlockMatcher crops = new BlockMatcher();
|
public static BlockMatcher crops = new BlockMatcher();
|
||||||
|
public static BlockMatcher dirt = new BlockMatcher();
|
||||||
|
public static BlockMatcher grass = new BlockMatcher();
|
||||||
|
|
||||||
public static ResourceLocation missingTexture = new ResourceLocation("betterfoliage", "textures/blocks/missing_leaf.png");
|
public static ResourceLocation missingTexture = new ResourceLocation("betterfoliage", "textures/blocks/missing_leaf.png");
|
||||||
|
|
||||||
@@ -55,6 +57,12 @@ public class BetterFoliageClient {
|
|||||||
crops.load(new File(BetterFoliage.configDir, "classesCrops.cfg"), new ResourceLocation("betterfoliage:classesCropsDefault.cfg"));
|
crops.load(new File(BetterFoliage.configDir, "classesCrops.cfg"), new ResourceLocation("betterfoliage:classesCropsDefault.cfg"));
|
||||||
MinecraftForge.EVENT_BUS.register(crops);
|
MinecraftForge.EVENT_BUS.register(crops);
|
||||||
|
|
||||||
|
dirt.load(new File(BetterFoliage.configDir, "classesDirt.cfg"), new ResourceLocation("betterfoliage:classesDirtDefault.cfg"));
|
||||||
|
MinecraftForge.EVENT_BUS.register(dirt);
|
||||||
|
|
||||||
|
grass.load(new File(BetterFoliage.configDir, "classesGrass.cfg"), new ResourceLocation("betterfoliage:classesGrassDefault.cfg"));
|
||||||
|
MinecraftForge.EVENT_BUS.register(grass);
|
||||||
|
|
||||||
MinecraftForge.EVENT_BUS.register(new LeafTextureEnumerator("bf_leaves"));
|
MinecraftForge.EVENT_BUS.register(new LeafTextureEnumerator("bf_leaves"));
|
||||||
|
|
||||||
BetterFoliage.log.info("Registering texture generators");
|
BetterFoliage.log.info("Registering texture generators");
|
||||||
|
|||||||
@@ -3,12 +3,12 @@ package mods.betterfoliage.client.render.impl;
|
|||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
import mods.betterfoliage.BetterFoliage;
|
import mods.betterfoliage.BetterFoliage;
|
||||||
|
import mods.betterfoliage.client.BetterFoliageClient;
|
||||||
import mods.betterfoliage.client.render.IRenderBlockDecorator;
|
import mods.betterfoliage.client.render.IRenderBlockDecorator;
|
||||||
import mods.betterfoliage.client.render.IconSet;
|
import mods.betterfoliage.client.render.IconSet;
|
||||||
import mods.betterfoliage.client.render.RenderBlockAOBase;
|
import mods.betterfoliage.client.render.RenderBlockAOBase;
|
||||||
import mods.betterfoliage.common.util.Double3;
|
import mods.betterfoliage.common.util.Double3;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.BlockDirt;
|
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.client.renderer.RenderBlocks;
|
import net.minecraft.client.renderer.RenderBlocks;
|
||||||
import net.minecraft.client.renderer.Tessellator;
|
import net.minecraft.client.renderer.Tessellator;
|
||||||
@@ -31,7 +31,7 @@ public class RenderBlockBetterAlgae extends RenderBlockAOBase implements IRender
|
|||||||
|
|
||||||
public boolean isBlockAccepted(IBlockAccess blockAccess, int x, int y, int z, Block block, int original) {
|
public boolean isBlockAccepted(IBlockAccess blockAccess, int x, int y, int z, Block block, int original) {
|
||||||
if (!BetterFoliage.config.algaeEnabled) return false;
|
if (!BetterFoliage.config.algaeEnabled) return false;
|
||||||
if (y >= 254 || !(block instanceof BlockDirt)) return false;
|
if (!(BetterFoliageClient.dirt.matchesID(block))) return false;
|
||||||
if (blockAccess.getBlock(x, y + 1, z).getMaterial() != Material.water) return false;
|
if (blockAccess.getBlock(x, y + 1, z).getMaterial() != Material.water) return false;
|
||||||
if (blockAccess.getBlock(x, y + 2, z).getMaterial() != Material.water) return false;
|
if (blockAccess.getBlock(x, y + 2, z).getMaterial() != Material.water) return false;
|
||||||
if (blockAccess.getBiomeGenForCoords(x, z).temperature < 0.4f) return false;
|
if (blockAccess.getBiomeGenForCoords(x, z).temperature < 0.4f) return false;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package mods.betterfoliage.client.render.impl;
|
package mods.betterfoliage.client.render.impl;
|
||||||
|
|
||||||
import mods.betterfoliage.BetterFoliage;
|
import mods.betterfoliage.BetterFoliage;
|
||||||
|
import mods.betterfoliage.client.BetterFoliageClient;
|
||||||
import mods.betterfoliage.client.ShadersModIntegration;
|
import mods.betterfoliage.client.ShadersModIntegration;
|
||||||
import mods.betterfoliage.client.render.IRenderBlockDecorator;
|
import mods.betterfoliage.client.render.IRenderBlockDecorator;
|
||||||
import mods.betterfoliage.client.render.IconSet;
|
import mods.betterfoliage.client.render.IconSet;
|
||||||
@@ -30,7 +31,7 @@ public class RenderBlockBetterGrass extends RenderBlockAOBase implements IRender
|
|||||||
|
|
||||||
public boolean isBlockAccepted(IBlockAccess blockAccess, int x, int y, int z, Block block, int original) {
|
public boolean isBlockAccepted(IBlockAccess blockAccess, int x, int y, int z, Block block, int original) {
|
||||||
if (!BetterFoliage.config.grassEnabled) return false;
|
if (!BetterFoliage.config.grassEnabled) return false;
|
||||||
if (!((block instanceof BlockGrass || block == Blocks.mycelium))) return false;
|
if (!(BetterFoliageClient.grass.matchesID(block) || block == Blocks.mycelium)) return false;
|
||||||
if (!blockAccess.isAirBlock(x, y + 1, z) && blockAccess.getBlock(x, y + 1, z) != Blocks.snow_layer) return false;
|
if (!blockAccess.isAirBlock(x, y + 1, z) && blockAccess.getBlock(x, y + 1, z) != Blocks.snow_layer) return false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,13 +3,13 @@ package mods.betterfoliage.client.render.impl;
|
|||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
import mods.betterfoliage.BetterFoliage;
|
import mods.betterfoliage.BetterFoliage;
|
||||||
|
import mods.betterfoliage.client.BetterFoliageClient;
|
||||||
import mods.betterfoliage.client.ShadersModIntegration;
|
import mods.betterfoliage.client.ShadersModIntegration;
|
||||||
import mods.betterfoliage.client.render.IRenderBlockDecorator;
|
import mods.betterfoliage.client.render.IRenderBlockDecorator;
|
||||||
import mods.betterfoliage.client.render.IconSet;
|
import mods.betterfoliage.client.render.IconSet;
|
||||||
import mods.betterfoliage.client.render.RenderBlockAOBase;
|
import mods.betterfoliage.client.render.RenderBlockAOBase;
|
||||||
import mods.betterfoliage.common.util.Double3;
|
import mods.betterfoliage.common.util.Double3;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.BlockDirt;
|
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.client.renderer.RenderBlocks;
|
import net.minecraft.client.renderer.RenderBlocks;
|
||||||
import net.minecraft.client.renderer.Tessellator;
|
import net.minecraft.client.renderer.Tessellator;
|
||||||
@@ -33,7 +33,7 @@ public class RenderBlockBetterReed extends RenderBlockAOBase implements IRenderB
|
|||||||
|
|
||||||
public boolean isBlockAccepted(IBlockAccess blockAccess, int x, int y, int z, Block block, int original) {
|
public boolean isBlockAccepted(IBlockAccess blockAccess, int x, int y, int z, Block block, int original) {
|
||||||
if (!BetterFoliage.config.reedEnabled) return false;
|
if (!BetterFoliage.config.reedEnabled) return false;
|
||||||
if (y >= 254 || !(block instanceof BlockDirt)) return false;
|
if (!(BetterFoliageClient.dirt.matchesID(block))) return false;
|
||||||
if (blockAccess.getBlock(x, y + 1, z).getMaterial() != Material.water) return false;
|
if (blockAccess.getBlock(x, y + 1, z).getMaterial() != Material.water) return false;
|
||||||
if (!blockAccess.isAirBlock(x, y + 2, z)) return false;
|
if (!blockAccess.isAirBlock(x, y + 2, z)) return false;
|
||||||
if (blockAccess.getBiomeGenForCoords(x, z).temperature < 0.4f || blockAccess.getBiomeGenForCoords(x, z).rainfall < 0.4f) return false;
|
if (blockAccess.getBiomeGenForCoords(x, z).temperature < 0.4f || blockAccess.getBiomeGenForCoords(x, z).rainfall < 0.4f) return false;
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
// Vanilla
|
||||||
|
net.minecraft.block.BlockDirt
|
||||||
|
|
||||||
|
// Enhanced Biomes
|
||||||
|
enhancedbiomes.blocks.BlockSoilEB
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
// Vanilla
|
||||||
|
net.minecraft.block.BlockGrass
|
||||||
|
|
||||||
|
// Enhanced Biomes
|
||||||
|
enhancedbiomes.blocks.BlockGrassEB
|
||||||
Reference in New Issue
Block a user