    001package net.minecraft.block;
    002
    003import net.minecraft.block.material.Material;
    004import net.minecraft.creativetab.CreativeTabs;
    005import net.minecraft.entity.Entity;
    006import net.minecraft.util.AxisAlignedBB;
    007import net.minecraft.world.World;
    008
    009public 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}