net.minecraft.block

## Class BlockDoublePlant

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

- All Implemented Interfaces:
    IGrowable, IPlantable, IShearable

      public class BlockDoublePlant
      extends BlockBush
      implements IGrowable, IShearable

- - ### Nested Class Summary

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

      `Block.SoundType`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String[]` | `field_149892_a`
    `IIcon[]` | `sunflowerIcons`

    - ### 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
    Constructor and Description
    `BlockDoublePlant()`

  - ### 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 void` | `checkAndDropBlock(World p_149855_1_, int p_149855_2_, int p_149855_3_, int p_149855_4_)`
    `int` | `colorMultiplier(IBlockAccess p_149720_1_, int p_149720_2_, int p_149720_3_, int p_149720_4_)`
    `int` | `damageDropped(int p_149692_1_)`
    `boolean` | `func_149851_a(World p_149851_1_, int p_149851_2_, int p_149851_3_, int p_149851_4_, boolean p_149851_5_)`
    `boolean` | `func_149852_a(World p_149852_1_, java.util.Random p_149852_2_, int p_149852_3_, int p_149852_4_, int p_149852_5_)`
    `void` | `func_149853_b(World p_149853_1_, java.util.Random p_149853_2_, int p_149853_3_, int p_149853_4_, int p_149853_5_)`
    `int` | `func_149885_e(IBlockAccess p_149885_1_, int p_149885_2_, int p_149885_3_, int p_149885_4_)`
    `static boolean` | `func_149887_c(int p_149887_0_)`
    `IIcon` | `func_149888_a(boolean p_149888_1_, int p_149888_2_)`
    `void` | `func_149889_c(World p_149889_1_, int p_149889_2_, int p_149889_3_, int p_149889_4_, int p_149889_5_, int p_149889_6_)`
    `static int` | `func_149890_d(int p_149890_0_)`
    `int` | `getDamageValue(World p_149643_1_, int p_149643_2_, int p_149643_3_, int p_149643_4_)`
    `IIcon` | `getIcon(int p_149691_1_, int p_149691_2_)`
    `Item` | `getItemDropped(int p_149650_1_, java.util.Random p_149650_2_, int p_149650_3_)`
    `int` | `getRenderType()`
    `void` | `getSubBlocks(Item p_149666_1_, CreativeTabs p_149666_2_, java.util.List p_149666_3_)`
    `void` | `harvestBlock(World p_149636_1_, EntityPlayer p_149636_2_, int p_149636_3_, int p_149636_4_, int p_149636_5_, int p_149636_6_)`
    `boolean` | `isShearable(ItemStack item, IBlockAccess world, int x, int y, int z)` Checks if the object is currently shearable Example: Sheep return false when they have no wool
    `void` | `onBlockHarvested(World p_149681_1_, int p_149681_2_, int p_149681_3_, int p_149681_4_, int p_149681_5_, EntityPlayer p_149681_6_)`
    `void` | `onBlockPlacedBy(World p_149689_1_, int p_149689_2_, int p_149689_3_, int p_149689_4_, EntityLivingBase p_149689_5_, ItemStack p_149689_6_)`
    `java.util.ArrayList<ItemStack>` | `onSheared(ItemStack item, IBlockAccess world, int x, int y, int z, int fortune)` Performs the shear function on this object.
    `void` | `registerBlockIcons(IIconRegister p_149651_1_)`
    `void` | `setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_)`

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

      `canPlaceBlockOn, getCollisionBoundingBoxFromPool, getPlant, getPlantMetadata, getPlantType, isOpaqueCube, onNeighborBlockChange, renderAsNormalBlock, updateTick`

    - ### 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, createStackedBlock, createTileEntity, 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, getDrops, getEnableStats, getEnchantPowerBonus, getExpDrop, getExplosionResistance, getExplosionResistance, getFireSpreadSpeed, getFlammability, getHarvestLevel, getHarvestTool, getIcon, getIdFromBlock, getItem, getItemIconName, getLightOpacity, getLightOpacity, getLightValue, getLightValue, getLocalizedName, getMapColor, getMaterial, getMixedBrightnessForBlock, getMobilityFlag, getPickBlock, getPlayerRelativeBlockHardness, getRenderBlockPass, getRenderColor, getSelectedBoundingBoxFromPool, getTextureName, getTickRandomly, getUnlocalizedName, getUseNeighborBrightness, getValidRotations, getWeakChanges, 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, onBlockPlaced, onBlockPreDestroy, onEntityCollidedWithBlock, onEntityWalking, onFallenUpon, onNeighborChange, onPlantGrow, onPostBlockPlaced, quantityDropped, quantityDropped, quantityDroppedWithBonus, randomDisplayTick, recolourBlock, registerBlocks, removedByPlayer, rotateBlock, setBedOccupied, setBlockBounds, 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`

- - ### Field Detail

    - #### field_149892_a

          public static final java.lang.String[] field_149892_a

    - #### sunflowerIcons

          public IIcon[] sunflowerIcons

  - ### Constructor Detail

    - #### BlockDoublePlant

          public BlockDoublePlant()

  - ### Method Detail

    - #### getRenderType

          public int getRenderType()

      Overrides:
        `getRenderType` in class `BlockBush`

    - #### setBlockBoundsBasedOnState

          public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_,
                                        int p_149719_2_,
                                        int p_149719_3_,
                                        int p_149719_4_)

      Overrides:
        `setBlockBoundsBasedOnState` in class `Block`

    - #### func_149885_e

          public int func_149885_e(IBlockAccess p_149885_1_,
                          int p_149885_2_,
                          int p_149885_3_,
                          int p_149885_4_)

    - #### canPlaceBlockAt

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

      Overrides:
        `canPlaceBlockAt` in class `BlockBush`

    - #### checkAndDropBlock

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

      Overrides:
        `checkAndDropBlock` in class `BlockBush`

    - #### canBlockStay

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

      Overrides:
        `canBlockStay` in class `BlockBush`

    - #### getItemDropped

          public Item getItemDropped(int p_149650_1_,
                            java.util.Random p_149650_2_,
                            int p_149650_3_)

      Overrides:
        `getItemDropped` in class `Block`

    - #### damageDropped

          public int damageDropped(int p_149692_1_)

      Overrides:
        `damageDropped` in class `Block`

    - #### func_149887_c

          public static boolean func_149887_c(int p_149887_0_)

    - #### func_149890_d

          public static int func_149890_d(int p_149890_0_)

    - #### getIcon

          public IIcon getIcon(int p_149691_1_,
                      int p_149691_2_)

      Overrides:
        `getIcon` in class `Block`

    - #### func_149888_a

          public IIcon func_149888_a(boolean p_149888_1_,
                            int p_149888_2_)

    - #### colorMultiplier

          public int colorMultiplier(IBlockAccess p_149720_1_,
                            int p_149720_2_,
                            int p_149720_3_,
                            int p_149720_4_)

      Overrides:
        `colorMultiplier` in class `Block`

    - #### func_149889_c

          public void func_149889_c(World p_149889_1_,
                           int p_149889_2_,
                           int p_149889_3_,
                           int p_149889_4_,
                           int p_149889_5_,
                           int p_149889_6_)

    - #### onBlockPlacedBy

          public void onBlockPlacedBy(World p_149689_1_,
                             int p_149689_2_,
                             int p_149689_3_,
                             int p_149689_4_,
                             EntityLivingBase p_149689_5_,
                             ItemStack p_149689_6_)

      Overrides:
        `onBlockPlacedBy` in class `Block`

    - #### harvestBlock

          public void harvestBlock(World p_149636_1_,
                          EntityPlayer p_149636_2_,
                          int p_149636_3_,
                          int p_149636_4_,
                          int p_149636_5_,
                          int p_149636_6_)

      Overrides:
        `harvestBlock` in class `Block`

    - #### onBlockHarvested

          public void onBlockHarvested(World p_149681_1_,
                              int p_149681_2_,
                              int p_149681_3_,
                              int p_149681_4_,
                              int p_149681_5_,
                              EntityPlayer p_149681_6_)

      Overrides:
        `onBlockHarvested` in class `Block`

    - #### registerBlockIcons

          public void registerBlockIcons(IIconRegister p_149651_1_)

      Overrides:
        `registerBlockIcons` in class `Block`

    - #### getSubBlocks

          public void getSubBlocks(Item p_149666_1_,
                          CreativeTabs p_149666_2_,
                          java.util.List p_149666_3_)

      Overrides:
        `getSubBlocks` in class `Block`

    - #### getDamageValue

          public int getDamageValue(World p_149643_1_,
                           int p_149643_2_,
                           int p_149643_3_,
                           int p_149643_4_)

      Overrides:
        `getDamageValue` in class `Block`

    - #### func_149851_a

          public boolean func_149851_a(World p_149851_1_,
                              int p_149851_2_,
                              int p_149851_3_,
                              int p_149851_4_,
                              boolean p_149851_5_)

      Specified by:
        `func_149851_a` in interface `IGrowable`

    - #### func_149852_a

          public boolean func_149852_a(World p_149852_1_,
                              java.util.Random p_149852_2_,
                              int p_149852_3_,
                              int p_149852_4_,
                              int p_149852_5_)

      Specified by:
        `func_149852_a` in interface `IGrowable`

    - #### func_149853_b

          public void func_149853_b(World p_149853_1_,
                           java.util.Random p_149853_2_,
                           int p_149853_3_,
                           int p_149853_4_,
                           int p_149853_5_)

      Specified by:
        `func_149853_b` in interface `IGrowable`

    - #### isShearable

          public boolean isShearable(ItemStack item,
                            IBlockAccess world,
                            int x,
                            int y,
                            int z)

      Description copied from interface: `IShearable`
      Checks if the object is currently shearable Example: Sheep return false when they have no wool
      Specified by:
        `isShearable` in interface `IShearable`
      Parameters:
        `item` - The itemstack that is being used, Possible to be null
        `world` - The current world
        `x` - The X Position
        `y` - The Y Position
        `z` - The Z Position
      Returns:
        If this is shearable, and onSheared should be called.

    - #### onSheared

          public java.util.ArrayList<ItemStack> onSheared(ItemStack item,
                                                 IBlockAccess world,
                                                 int x,
                                                 int y,
                                                 int z,
                                                 int fortune)

      Description copied from interface: `IShearable`
      Performs the shear function on this object. This is called for both client, and server. The object should perform all actions related to being sheared, except for dropping of the items, and removal of the block. As those are handled by ItemShears itself. Returns a list of items that resulted from the shearing process. For entities, they should trust there internal location information over the values passed into this function.
      Specified by:
        `onSheared` in interface `IShearable`
      Parameters:
        `item` - The itemstack that is being used, Possible to be null
        `world` - The current world
        `x` - The X Position
        `y` - The Y Position
        `z` - The Z Position
        `fortune` - The fortune level of the shears being used
      Returns:
        A ArrayList containing all items from this shearing. Possible to be null.