net.minecraft.block

## Class BlockTrapDoor

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

-     public class BlockTrapDoor
      extends Block

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static boolean` | `disableValidation` Set this to allow trapdoors to remain free-floating

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

      `anvil, beacon, bed, bedrock, blockClay, blockDiamond, blockEmerald, blockGold, blockHardness, blockID, blockIron, blockLapis, blockMaterial, blockNetherQuartz, blockParticleGravity, blockRedstone, blockResistance, blocksList, blockSnow, bookShelf, brewingStand, brick, cactus, cake, canBlockGrass, carpet, carrot, cauldron, chest, chestTrapped, cloth, coalBlock, cobblestone, cobblestoneMossy, cobblestoneWall, cocoaPlant, commandBlock, crops, daylightSensor, deadBush, dirt, dispenser, doorIron, doorWood, dragonEgg, dropper, enchantmentTable, enderChest, endPortal, endPortalFrame, fence, fenceGate, fenceIron, fire, flowerPot, furnaceBurning, furnaceIdle, glass, glowStone, grass, gravel, hardenedClay, hay, hopperBlock, ice, jukebox, ladder, lavaMoving, lavaStill, leaves, lever, lightOpacity, lightValue, lockedChest, melon, melonStem, mobSpawner, mushroomBrown, mushroomCapBrown, mushroomCapRed, mushroomRed, music, mycelium, netherBrick, netherFence, netherrack, netherStalk, obsidian, opaqueCubeLookup, oreCoal, oreDiamond, oreEmerald, oreGold, oreIron, oreLapis, oreNetherQuartz, oreRedstone, oreRedstoneGlowing, pistonBase, pistonExtension, pistonMoving, pistonStickyBase, planks, plantRed, plantYellow, portal, potato, pressurePlateGold, pressurePlateIron, pressurePlatePlanks, pressurePlateStone, pumpkin, pumpkinLantern, pumpkinStem, rail, railActivator, railDetector, railPowered, redstoneComparatorActive, redstoneComparatorIdle, redstoneLampActive, redstoneLampIdle, redstoneRepeaterActive, redstoneRepeaterIdle, redstoneWire, reed, sand, sandStone, sapling, signPost, signWall, silverfish, skull, slipperiness, slowSand, snow, soundAnvilFootstep, soundClothFootstep, soundGlassFootstep, soundGrassFootstep, soundGravelFootstep, soundLadderFootstep, soundMetalFootstep, soundPowderFootstep, soundSandFootstep, soundSnowFootstep, soundStoneFootstep, soundWoodFootstep, sponge, stainedClay, stairsBrick, stairsCobblestone, stairsNetherBrick, stairsNetherQuartz, stairsSandStone, stairsStoneBrick, stairsWoodBirch, stairsWoodJungle, stairsWoodOak, stairsWoodSpruce, stepSound, stone, stoneBrick, stoneButton, stoneDoubleSlab, stoneSingleSlab, tallGrass, thinGlass, tilledField, tnt, torchRedstoneActive, torchRedstoneIdle, torchWood, trapdoor, tripWire, tripWireSource, useNeighborBrightness, vine, waterlily, waterMoving, waterStill, web, whiteStone, wood, woodDoubleSlab, woodenButton, woodSingleSlab, workbench`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `canPlaceBlockOnSide(World par1World, int par2, int par3, int par4, int par5)` checks to see if you can place this block can be placed on that side of a block: BlockLever overrides
    `MovingObjectPosition` | `collisionRayTrace(World par1World, int par2, int par3, int par4, Vec3 par5Vec3, Vec3 par6Vec3)` Ray traces through the blocks collision from start vector to end vector returning a ray trace hit.
    `boolean` | `getBlocksMovement(IBlockAccess par1IBlockAccess, int par2, int par3, int par4)`
    `AxisAlignedBB` | `getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4)` Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been cleared to be reused)
    `int` | `getRenderType()` The type of render function that is called for this block
    `AxisAlignedBB` | `getSelectedBoundingBoxFromPool(World par1World, int par2, int par3, int par4)`
    `boolean` | `isOpaqueCube()` Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block.
    `static boolean` | `isTrapdoorOpen(int par0)`
    `boolean` | `onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9)` Called upon block activation (right click on the block.)
    `void` | `onBlockClicked(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer)` Called when the block is clicked by a player.
    `int` | `onBlockPlaced(World par1World, int par2, int par3, int par4, int par5, float par6, float par7, float par8, int par9)` Called when a block is placed using its ItemBlock.
    `void` | `onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5)` Lets the block know when one of its neighbor changes.
    `void` | `onPoweredBlockChange(World par1World, int par2, int par3, int par4, boolean par5)`
    `boolean` | `renderAsNormalBlock()` If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc)
    `void` | `setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4)` Updates the blocks bounds based on its current state.
    `void` | `setBlockBoundsForBlockRender(int par1)`
    `void` | `setBlockBoundsForItemRender()` Sets the block's bounds for rendering it as an item

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

      `addBlockDestroyEffects, addBlockHitEffects, addCollisionBoxesToList, addCreativeItems, beginLeavesDecay, breakBlock, canBeReplacedByLeaves, canBlockStay, canCollideCheck, canConnectRedstone, canCreatureSpawn, canDragonDestroy, canDropFromExplosion, canEntityDestroy, canHarvestBlock, canPlaceBlockAt, canPlaceBlockOnSide, canPlaceTorchOnTop, canProvidePower, canRenderInPass, canSilkHarvest, canSustainLeaves, canSustainPlant, colorMultiplier, createTileEntity, damageDropped, dropBlockAsItem, dropBlockAsItemWithChance, dropXpOnBlockBreak, fillWithRain, func_82506_l, getAmbientOcclusionLightValue, getBedDirection, getBedSpawnPosition, getBlockBoundsMaxX, getBlockBoundsMaxY, getBlockBoundsMaxZ, getBlockBoundsMinX, getBlockBoundsMinY, getBlockBoundsMinZ, getBlockBrightness, getBlockColor, getBlockDropped, getBlockHardness, getBlockTexture, getBlockTextureFromSide, getComparatorInputOverride, getCreativeTabToDisplayOn, getDamageValue, getEnableStats, getEnchantPowerBonus, getExpDrop, getExplosionResistance, getExplosionResistance, getFilledPercentage, getFireSpreadSpeed, getFlammability, getIcon, getItemIconName, getLightOpacity, getLightValue, getLocalizedName, getMixedBrightnessForBlock, getMobilityFlag, getPickBlock, getPlayerRelativeBlockHardness, getRenderBlockPass, getRenderColor, getSubBlocks, getTickRandomly, getUnlocalizedName, getValidRotations, harvestBlock, hasComparatorInputOverride, hasTileEntity, hasTileEntity, idDropped, idPicked, isAirBlock, isAssociatedBlockID, isAssociatedBlockID, isBeaconBase, isBed, isBedFoot, isBlockBurning, isBlockFoliage, isBlockNormalCube, isBlockReplaceable, isBlockSolid, isBlockSolidOnSide, isCollidable, isFertile, isFireSource, isFlammable, isFlowerPot, isGenMineableReplaceable, isLadder, isLeaves, isNormalCube, isProvidingStrongPower, isProvidingWeakPower, isWood, onBlockAdded, onBlockDestroyedByExplosion, onBlockDestroyedByPlayer, onBlockEventReceived, onBlockExploded, onBlockHarvested, onBlockPlacedBy, onBlockPreDestroy, onEntityCollidedWithBlock, onEntityWalking, onFallenUpon, onNeighborTileChange, onPlantGrow, onPostBlockPlaced, quantityDropped, quantityDropped, quantityDroppedWithBonus, randomDisplayTick, recolourBlock, registerIcons, removeBlockByPlayer, rotateBlock, setBedOccupied, setBlockBounds, setBlockUnbreakable, setBurnProperties, setCreativeTab, setHardness, setLightOpacity, setLightValue, setResistance, setStepSound, setTextureName, setTickRandomly, setUnlocalizedName, shouldCheckWeakPower, shouldSideBeRendered, tickRate, updateTick, velocityToAddToEntity, weakTileChanges`

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

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

- - ### Field Detail

    - #### disableValidation

          public static boolean disableValidation

      Set this to allow trapdoors to remain free-floating

  - ### Method Detail

    - #### isOpaqueCube

          public boolean isOpaqueCube()

      Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block.
      Overrides:
        `isOpaqueCube` in class `Block`

    - #### renderAsNormalBlock

          public boolean renderAsNormalBlock()

      If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc)
      Overrides:
        `renderAsNormalBlock` in class `Block`

    - #### getBlocksMovement

          public boolean getBlocksMovement(IBlockAccess par1IBlockAccess,
                                  int par2,
                                  int par3,
                                  int par4)

      Overrides:
        `getBlocksMovement` in class `Block`

    - #### getRenderType

          public int getRenderType()

      The type of render function that is called for this block
      Overrides:
        `getRenderType` in class `Block`

    - #### getSelectedBoundingBoxFromPool

          public AxisAlignedBB getSelectedBoundingBoxFromPool(World par1World,
                                                     int par2,
                                                     int par3,
                                                     int par4)

      Overrides:
        `getSelectedBoundingBoxFromPool` in class `Block`

    - #### getCollisionBoundingBoxFromPool

          public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World,
                                                      int par2,
                                                      int par3,
                                                      int par4)

      Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been cleared to be reused)
      Overrides:
        `getCollisionBoundingBoxFromPool` in class `Block`

    - #### setBlockBoundsBasedOnState

          public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess,
                                        int par2,
                                        int par3,
                                        int par4)

      Updates the blocks bounds based on its current state. Args: world, x, y, z
      Overrides:
        `setBlockBoundsBasedOnState` in class `Block`

    - #### setBlockBoundsForItemRender

          public void setBlockBoundsForItemRender()

      Sets the block's bounds for rendering it as an item
      Overrides:
        `setBlockBoundsForItemRender` in class `Block`

    - #### setBlockBoundsForBlockRender

          public void setBlockBoundsForBlockRender(int par1)

    - #### onBlockClicked

          public void onBlockClicked(World par1World,
                            int par2,
                            int par3,
                            int par4,
                            EntityPlayer par5EntityPlayer)

      Called when the block is clicked by a player. Args: x, y, z, entityPlayer
      Overrides:
        `onBlockClicked` in class `Block`

    - #### onBlockActivated

          public boolean onBlockActivated(World par1World,
                                 int par2,
                                 int par3,
                                 int par4,
                                 EntityPlayer par5EntityPlayer,
                                 int par6,
                                 float par7,
                                 float par8,
                                 float par9)

      Called upon block activation (right click on the block.)
      Overrides:
        `onBlockActivated` in class `Block`

    - #### onPoweredBlockChange

          public void onPoweredBlockChange(World par1World,
                                  int par2,
                                  int par3,
                                  int par4,
                                  boolean par5)

    - #### onNeighborBlockChange

          public void onNeighborBlockChange(World par1World,
                                   int par2,
                                   int par3,
                                   int par4,
                                   int par5)

      Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are their own) Args: x, y, z, neighbor blockID
      Overrides:
        `onNeighborBlockChange` in class `Block`

    - #### collisionRayTrace

          public MovingObjectPosition collisionRayTrace(World par1World,
                                               int par2,
                                               int par3,
                                               int par4,
                                               Vec3 par5Vec3,
                                               Vec3 par6Vec3)

      Ray traces through the blocks collision from start vector to end vector returning a ray trace hit. Args: world, x, y, z, startVec, endVec
      Overrides:
        `collisionRayTrace` in class `Block`

    - #### onBlockPlaced

          public int onBlockPlaced(World par1World,
                          int par2,
                          int par3,
                          int par4,
                          int par5,
                          float par6,
                          float par7,
                          float par8,
                          int par9)

      Called when a block is placed using its ItemBlock. Args: World, X, Y, Z, side, hitX, hitY, hitZ, block metadata
      Overrides:
        `onBlockPlaced` in class `Block`

    - #### canPlaceBlockOnSide

          public boolean canPlaceBlockOnSide(World par1World,
                                    int par2,
                                    int par3,
                                    int par4,
                                    int par5)

      checks to see if you can place this block can be placed on that side of a block: BlockLever overrides
      Overrides:
        `canPlaceBlockOnSide` in class `Block`

    - #### isTrapdoorOpen

          public static boolean isTrapdoorOpen(int par0)