    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    }