package emasher.items; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; //import net.minecraft.util.EnumMovingObjectType; public class ItemPondScum extends ItemBlock { public String texture; public Block blockForm; public ItemPondScum( Block b, String texture ) { super( b ); maxStackSize = 64; setUnlocalizedName( "pondScumItem" ); this.texture = texture; this.blockForm = b; } @Override public void registerIcons( IIconRegister iconRegister ) { itemIcon = iconRegister.registerIcon( texture ); } @Override public ItemStack onItemRightClick( ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer ) { MovingObjectPosition var4 = this.getMovingObjectPositionFromPlayer( par2World, par3EntityPlayer, true ); if( var4 == null ) { return par1ItemStack; } else { if( var4.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK ) { int var5 = var4.blockX; int var6 = var4.blockY; int var7 = var4.blockZ; if( !par2World.canMineBlock( par3EntityPlayer, var5, var6, var7 ) ) { return par1ItemStack; } if( !par3EntityPlayer.canPlayerEdit( var5, var6, var7, var4.sideHit, par1ItemStack ) ) { return par1ItemStack; } if( par2World.getBlock( var5, var6, var7 ).getMaterial() == Material.water && par2World.getBlockMetadata( var5, var6, var7 ) == 0 && par2World.isAirBlock( var5, var6 + 1, var7 ) ) { par2World.setBlock( var5, var6 + 1, var7, blockForm, 0, 3 ); par2World.notifyBlocksOfNeighborChange( var5, var6, var7, blockForm ); if( !par3EntityPlayer.capabilities.isCreativeMode ) { --par1ItemStack.stackSize; } } } return par1ItemStack; } } }