net.minecraft.block

## Class BlockRedstoneLogic

- java.lang.Object
- - net.minecraft.block.Block
  - - net.minecraft.block.BlockDirectional
    - - net.minecraft.block.BlockRedstoneLogic

- Direct Known Subclasses:
    BlockComparator, BlockRedstoneRepeater

      public abstract class BlockRedstoneLogic
      extends BlockDirectional

- - ### Field Summary

    - ### 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` | `canBlockStay(World par1World, int par2, int par3, int par4)` Can this block stay at this position.
    `boolean` | `canPlaceBlockAt(World par1World, int par2, int par3, int par4)` Checks to see if its valid to put this block at the specified coordinates.
    `boolean` | `canProvidePower()` Can this block provide power.
    `boolean` | `func_83011_d(World par1World, int par2, int par3, int par4, int par5)`
    `boolean` | `func_94476_e(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)`
    `boolean` | `func_94487_f(int par1)`
    `Icon` | `getIcon(int par1, int par2)`
    `int` | `getRenderType()` The type of render function that is called for this block
    `boolean` | `isAssociatedBlockID(int par1)` Returns true if the given block ID is equivalent to this one.
    `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.
    `int` | `isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)` Returns true if the block is emitting direct/strong redstone power on the specified side.
    `int` | `isProvidingWeakPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)` Returns true if the block is emitting indirect/weak redstone power on the specified side.
    `static boolean` | `isRedstoneRepeaterBlockID(int par0)`
    `void` | `onBlockAdded(World par1World, int par2, int par3, int par4)` Called whenever the block is added into the world.
    `void` | `onBlockDestroyedByPlayer(World par1World, int par2, int par3, int par4, int par5)` Called right before the block is destroyed by a player.
    `void` | `onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLivingBase, ItemStack par6ItemStack)` Called when the block is placed in the world.
    `void` | `onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5)` Lets the block know when one of its neighbor changes.
    `boolean` | `renderAsNormalBlock()` If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc)
    `boolean` | `shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)`
    `void` | `updateTick(World par1World, int par2, int par3, int par4, Random par5Random)` Ticks the block if it's been scheduled

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

      `getDirection`

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

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

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

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

- - ### Method Detail

    - #### 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`

    - #### canPlaceBlockAt

          public boolean canPlaceBlockAt(World par1World,
                                int par2,
                                int par3,
                                int par4)

      Checks to see if its valid to put this block at the specified coordinates. Args: world, x, y, z
      Overrides:
        `canPlaceBlockAt` in class `Block`

    - #### canBlockStay

          public boolean canBlockStay(World par1World,
                             int par2,
                             int par3,
                             int par4)

      Can this block stay at this position. Similar to canPlaceBlockAt except gets checked often with plants.
      Overrides:
        `canBlockStay` in class `Block`

    - #### updateTick

          public void updateTick(World par1World,
                        int par2,
                        int par3,
                        int par4,
                        Random par5Random)

      Ticks the block if it's been scheduled
      Overrides:
        `updateTick` in class `Block`

    - #### getIcon

          public Icon getIcon(int par1,
                     int par2)

      Overrides:
        `getIcon` in class `Block`

    - #### shouldSideBeRendered

          public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess,
                                     int par2,
                                     int par3,
                                     int par4,
                                     int par5)

      Overrides:
        `shouldSideBeRendered` in class `Block`

    - #### getRenderType

          public int getRenderType()

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

    - #### isProvidingStrongPower

          public int isProvidingStrongPower(IBlockAccess par1IBlockAccess,
                                   int par2,
                                   int par3,
                                   int par4,
                                   int par5)

      Returns true if the block is emitting direct/strong redstone power on the specified side. Args: World, X, Y, Z, side. Note that the side is reversed - eg it is 1 (up) when checking the bottom of the block.
      Overrides:
        `isProvidingStrongPower` in class `Block`

    - #### isProvidingWeakPower

          public int isProvidingWeakPower(IBlockAccess par1IBlockAccess,
                                 int par2,
                                 int par3,
                                 int par4,
                                 int par5)

      Returns true if the block is emitting indirect/weak redstone power on the specified side. If isBlockNormalCube returns true, standard redstone propagation rules will apply instead and this will not be called. Args: World, X, Y, Z, side. Note that the side is reversed - eg it is 1 (up) when checking the bottom of the block.
      Overrides:
        `isProvidingWeakPower` in class `Block`

    - #### 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`

    - #### func_94476_e

          public boolean func_94476_e(IBlockAccess par1IBlockAccess,
                             int par2,
                             int par3,
                             int par4,
                             int par5)

    - #### canProvidePower

          public boolean canProvidePower()

      Can this block provide power. Only wire currently seems to have this change based on its state.
      Overrides:
        `canProvidePower` in class `Block`

    - #### onBlockPlacedBy

          public void onBlockPlacedBy(World par1World,
                             int par2,
                             int par3,
                             int par4,
                             EntityLivingBase par5EntityLivingBase,
                             ItemStack par6ItemStack)

      Called when the block is placed in the world.
      Overrides:
        `onBlockPlacedBy` in class `Block`

    - #### onBlockAdded

          public void onBlockAdded(World par1World,
                          int par2,
                          int par3,
                          int par4)

      Called whenever the block is added into the world. Args: world, x, y, z
      Overrides:
        `onBlockAdded` in class `Block`

    - #### onBlockDestroyedByPlayer

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

      Called right before the block is destroyed by a player. Args: world, x, y, z, metaData
      Overrides:
        `onBlockDestroyedByPlayer` in class `Block`

    - #### 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`

    - #### isRedstoneRepeaterBlockID

          public static boolean isRedstoneRepeaterBlockID(int par0)

    - #### func_94487_f

          public boolean func_94487_f(int par1)

    - #### func_83011_d

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

    - #### isAssociatedBlockID

          public boolean isAssociatedBlockID(int par1)

      Returns true if the given block ID is equivalent to this one. Example: redstoneTorchOn matches itself and redstoneTorchOff, and vice versa. Most blocks only match themselves.
      Overrides:
        `isAssociatedBlockID` in class `Block`