001    package net.minecraft.block;
002    
003    import net.minecraft.block.material.Material;
004    import net.minecraft.creativetab.CreativeTabs;
005    import net.minecraft.entity.Entity;
006    import net.minecraft.util.AxisAlignedBB;
007    import net.minecraft.world.World;
008    
009    public class BlockSoulSand extends Block
010    {
011        public BlockSoulSand(int par1, int par2)
012        {
013            super(par1, par2, Material.sand);
014            this.setCreativeTab(CreativeTabs.tabBlock);
015        }
016    
017        /**
018         * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been
019         * cleared to be reused)
020         */
021        public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4)
022        {
023            float var5 = 0.125F;
024            return AxisAlignedBB.getAABBPool().addOrModifyAABBInPool((double)par2, (double)par3, (double)par4, (double)(par2 + 1), (double)((float)(par3 + 1) - var5), (double)(par4 + 1));
025        }
026    
027        /**
028         * Triggered whenever an entity collides with this block (enters into the block). Args: world, x, y, z, entity
029         */
030        public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity)
031        {
032            par5Entity.motionX *= 0.4D;
033            par5Entity.motionZ *= 0.4D;
034        }
035    }