net.minecraft.block

## Class BlockBush

- java.lang.Object
- - net.minecraft.block.Block
  - - net.minecraft.block.BlockBush

- All Implemented Interfaces:
    IPlantable
  Direct Known Subclasses:
    BlockCrops, BlockDeadBush, BlockDoublePlant, BlockFlower, BlockLilyPad, BlockMushroom, BlockNetherWart, BlockSapling, BlockStem, BlockTallGrass

      public class BlockBush
      extends Block
      implements IPlantable

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class net.minecraft.block.Block

      `Block.SoundType`

  - ### Field Summary

    - ### Fields inherited from class net.minecraft.block.Block

      `blockConstructorCalled, blockHardness, blockIcon, blockMaterial, blockParticleGravity, blockRegistry, blockResistance, canBlockGrass, capturedDrops, captureDrops, enableStats, harvesters, isBlockContainer, lightOpacity, lightValue, maxX, maxY, maxZ, minX, minY, minZ, needsRandomTick, opaque, slipperiness, soundTypeAnvil, soundTypeCloth, soundTypeGlass, soundTypeGrass, soundTypeGravel, soundTypeLadder, soundTypeMetal, soundTypePiston, soundTypeSand, soundTypeSnow, soundTypeStone, soundTypeWood, stepSound, textureName, useNeighborBrightness`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `BlockBush()`
    `protected` | `BlockBush(Material p_i45395_1_)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `canBlockStay(World p_149718_1_, int p_149718_2_, int p_149718_3_, int p_149718_4_)`
    `boolean` | `canPlaceBlockAt(World p_149742_1_, int p_149742_2_, int p_149742_3_, int p_149742_4_)`
    `protected boolean` | `canPlaceBlockOn(Block p_149854_1_)`
    `protected void` | `checkAndDropBlock(World p_149855_1_, int p_149855_2_, int p_149855_3_, int p_149855_4_)`
    `AxisAlignedBB` | `getCollisionBoundingBoxFromPool(World p_149668_1_, int p_149668_2_, int p_149668_3_, int p_149668_4_)`
    `Block` | `getPlant(IBlockAccess world, int x, int y, int z)`
    `int` | `getPlantMetadata(IBlockAccess world, int x, int y, int z)`
    `EnumPlantType` | `getPlantType(IBlockAccess world, int x, int y, int z)`
    `int` | `getRenderType()`
    `boolean` | `isOpaqueCube()`
    `void` | `onNeighborBlockChange(World p_149695_1_, int p_149695_2_, int p_149695_3_, int p_149695_4_, Block p_149695_5_)`
    `boolean` | `renderAsNormalBlock()`
    `void` | `updateTick(World p_149674_1_, int p_149674_2_, int p_149674_3_, int p_149674_4_, java.util.Random p_149674_5_)`

    - ### Methods inherited from class net.minecraft.block.Block

      `addCollisionBoxesToList, addDestroyEffects, addHitEffects, beginLeavesDecay, breakBlock, canBeReplacedByLeaves, canCollideCheck, canConnectRedstone, canCreatureSpawn, canDropFromExplosion, canEntityDestroy, canHarvestBlock, canPlaceBlockOnSide, canPlaceTorchOnTop, canProvidePower, canRenderInPass, canReplace, canSilkHarvest, canSilkHarvest, canSustainLeaves, canSustainPlant, captureDrops, collisionRayTrace, colorMultiplier, createStackedBlock, createTileEntity, damageDropped, disableStats, dropBlockAsItem, dropBlockAsItem, dropBlockAsItemWithChance, dropXpOnBlockBreak, fillWithRain, func_149698_L, func_149730_j, func_149735_b, getAmbientOcclusionLightValue, getBedDirection, getBedSpawnPosition, getBlockBoundsMaxX, getBlockBoundsMaxY, getBlockBoundsMaxZ, getBlockBoundsMinX, getBlockBoundsMinY, getBlockBoundsMinZ, getBlockById, getBlockColor, getBlockFromItem, getBlockFromName, getBlockHardness, getBlocksMovement, getBlockTextureFromSide, getCanBlockGrass, getComparatorInputOverride, getCreativeTabToDisplayOn, getDamageValue, getDrops, getEnableStats, getEnchantPowerBonus, getExpDrop, getExplosionResistance, getExplosionResistance, getFireSpreadSpeed, getFlammability, getHarvestLevel, getHarvestTool, getIcon, getIcon, getIdFromBlock, getItem, getItemDropped, getItemIconName, getLightOpacity, getLightOpacity, getLightValue, getLightValue, getLocalizedName, getMapColor, getMaterial, getMixedBrightnessForBlock, getMobilityFlag, getPickBlock, getPlayerRelativeBlockHardness, getRenderBlockPass, getRenderColor, getSelectedBoundingBoxFromPool, getSubBlocks, getTextureName, getTickRandomly, getUnlocalizedName, getUseNeighborBrightness, getValidRotations, getWeakChanges, harvestBlock, hasComparatorInputOverride, hasTileEntity, hasTileEntity, isAir, isAssociatedBlock, isBeaconBase, isBed, isBedFoot, isBlockNormalCube, isBlockSolid, isBurning, isCollidable, isEqualTo, isFertile, isFireSource, isFlammable, isFlowerPot, isFoliage, isLadder, isLeaves, isNormalCube, isNormalCube, isProvidingStrongPower, isProvidingWeakPower, isReplaceable, isReplaceableOreGen, isSideSolid, isToolEffective, isWood, onBlockActivated, onBlockAdded, onBlockClicked, onBlockDestroyedByExplosion, onBlockDestroyedByPlayer, onBlockEventReceived, onBlockExploded, onBlockHarvested, onBlockPlaced, onBlockPlacedBy, onBlockPreDestroy, onEntityCollidedWithBlock, onEntityWalking, onFallenUpon, onNeighborChange, onPlantGrow, onPostBlockPlaced, quantityDropped, quantityDropped, quantityDroppedWithBonus, randomDisplayTick, recolourBlock, registerBlockIcons, registerBlocks, removedByPlayer, rotateBlock, setBedOccupied, setBlockBounds, setBlockBoundsBasedOnState, setBlockBoundsForItemRender, setBlockName, setBlockTextureName, setBlockUnbreakable, setCreativeTab, setHardness, setHarvestLevel, setHarvestLevel, setLightLevel, setLightOpacity, setResistance, setStepSound, setTickRandomly, shouldCheckWeakPower, shouldSideBeRendered, tickRate, velocityToAddToEntity`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### BlockBush

          protected BlockBush(Material p_i45395_1_)

    - #### BlockBush

          protected BlockBush()

  - ### Method Detail

    - #### canPlaceBlockAt

          public boolean canPlaceBlockAt(World p_149742_1_,
                                int p_149742_2_,
                                int p_149742_3_,
                                int p_149742_4_)

      Overrides:
        `canPlaceBlockAt` in class `Block`

    - #### canPlaceBlockOn

          protected boolean canPlaceBlockOn(Block p_149854_1_)

    - #### onNeighborBlockChange

          public void onNeighborBlockChange(World p_149695_1_,
                                   int p_149695_2_,
                                   int p_149695_3_,
                                   int p_149695_4_,
                                   Block p_149695_5_)

      Overrides:
        `onNeighborBlockChange` in class `Block`

    - #### updateTick

          public void updateTick(World p_149674_1_,
                        int p_149674_2_,
                        int p_149674_3_,
                        int p_149674_4_,
                        java.util.Random p_149674_5_)

      Overrides:
        `updateTick` in class `Block`

    - #### checkAndDropBlock

          protected void checkAndDropBlock(World p_149855_1_,
                               int p_149855_2_,
                               int p_149855_3_,
                               int p_149855_4_)

    - #### canBlockStay

          public boolean canBlockStay(World p_149718_1_,
                             int p_149718_2_,
                             int p_149718_3_,
                             int p_149718_4_)

      Overrides:
        `canBlockStay` in class `Block`

    - #### getCollisionBoundingBoxFromPool

          public AxisAlignedBB getCollisionBoundingBoxFromPool(World p_149668_1_,
                                                      int p_149668_2_,
                                                      int p_149668_3_,
                                                      int p_149668_4_)

      Overrides:
        `getCollisionBoundingBoxFromPool` in class `Block`

    - #### isOpaqueCube

          public boolean isOpaqueCube()

      Overrides:
        `isOpaqueCube` in class `Block`

    - #### renderAsNormalBlock

          public boolean renderAsNormalBlock()

      Overrides:
        `renderAsNormalBlock` in class `Block`

    - #### getRenderType

          public int getRenderType()

      Overrides:
        `getRenderType` in class `Block`

    - #### getPlantType

          public EnumPlantType getPlantType(IBlockAccess world,
                                   int x,
                                   int y,
                                   int z)

      Specified by:
        `getPlantType` in interface `IPlantable`

    - #### getPlant

          public Block getPlant(IBlockAccess world,
                       int x,
                       int y,
                       int z)

      Specified by:
        `getPlant` in interface `IPlantable`

    - #### getPlantMetadata

          public int getPlantMetadata(IBlockAccess world,
                             int x,
                             int y,
                             int z)

      Specified by:
        `getPlantMetadata` in interface `IPlantable`