## Uses of Class
net.minecraft.util.Vec3

- Packages that use Vec3
  Package | Description
  --- | ---
  net.minecraft.block |
  net.minecraft.client.model |
  net.minecraft.client.multiplayer |
  net.minecraft.client.renderer |
  net.minecraft.entity |
  net.minecraft.entity.ai |
  net.minecraft.entity.effect |
  net.minecraft.entity.item |
  net.minecraft.network.packet |
  net.minecraft.pathfinding |
  net.minecraft.util |
  net.minecraft.world |

- - ### Uses of Vec3 in net.minecraft.block

    Methods in net.minecraft.block with parameters of type Vec3
    Modifier and Type | Method and Description
    --- | ---
    `MovingObjectPosition` | BlockDoor.`collisionRayTrace(World par1World, int par2, int par3, int par4, Vec3 par5Vec3, Vec3 par6Vec3)` Ray traces through the blocks collision from start vector to end vector returning a ray trace hit.
    `MovingObjectPosition` | BlockTrapDoor.`collisionRayTrace(World par1World, int par2, int par3, int par4, Vec3 par5Vec3, Vec3 par6Vec3)` Ray traces through the blocks collision from start vector to end vector returning a ray trace hit.
    `MovingObjectPosition` | BlockTorch.`collisionRayTrace(World par1World, int par2, int par3, int par4, Vec3 par5Vec3, Vec3 par6Vec3)` Ray traces through the blocks collision from start vector to end vector returning a ray trace hit.
    `MovingObjectPosition` | BlockRail.`collisionRayTrace(World par1World, int par2, int par3, int par4, Vec3 par5Vec3, Vec3 par6Vec3)` Ray traces through the blocks collision from start vector to end vector returning a ray trace hit.
    `MovingObjectPosition` | BlockStairs.`collisionRayTrace(World par1World, int par2, int par3, int par4, Vec3 par5Vec3, Vec3 par6Vec3)` Ray traces through the blocks collision from start vector to end vector returning a ray trace hit.
    `MovingObjectPosition` | Block.`collisionRayTrace(World par1World, int par2, int par3, int par4, Vec3 par5Vec3, Vec3 par6Vec3)` Ray traces through the blocks collision from start vector to end vector returning a ray trace hit.
    `void` | BlockFluid.`velocityToAddToEntity(World par1World, int par2, int par3, int par4, Entity par5Entity, Vec3 par6Vec3)` Can add to the passed in vector for a movement vector to be applied to the entity.
    `void` | BlockStairs.`velocityToAddToEntity(World par1World, int par2, int par3, int par4, Entity par5Entity, Vec3 par6Vec3)` Can add to the passed in vector for a movement vector to be applied to the entity.
    `void` | Block.`velocityToAddToEntity(World par1World, int par2, int par3, int par4, Entity par5Entity, Vec3 par6Vec3)` Can add to the passed in vector for a movement vector to be applied to the entity.

  - ### Uses of Vec3 in net.minecraft.client.model

    Fields in net.minecraft.client.model declared as Vec3
    Modifier and Type | Field and Description
    --- | ---
    `Vec3` | PositionTextureVertex.`vector3D`

    Constructors in net.minecraft.client.model with parameters of type Vec3
    Constructor and Description
    `PositionTextureVertex(Vec3 par1Vec3, float par2, float par3)`

  - ### Uses of Vec3 in net.minecraft.client.multiplayer

    Methods in net.minecraft.client.multiplayer with parameters of type Vec3
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | PlayerControllerMP.`onPlayerRightClick(EntityPlayer par1EntityPlayer, World par2World, ItemStack par3ItemStack, int par4, int par5, int par6, int par7, Vec3 par8Vec3)` Handles a players right click.

  - ### Uses of Vec3 in net.minecraft.client.renderer

    Methods in net.minecraft.client.renderer that return Vec3
    Modifier and Type | Method and Description
    --- | ---
    `static Vec3` | ActiveRenderInfo.`projectViewFromEntity(EntityLiving par0EntityLiving, double par1)` Returns a vector representing the projection along the given entity's view for the given distance

    Methods in net.minecraft.client.renderer with parameters of type Vec3
    Modifier and Type | Method and Description
    --- | ---
    `void` | RenderGlobal.`renderEntities(Vec3 par1Vec3, ICamera par2ICamera, float par3)` Renders all entities within range and within the frustrum.

  - ### Uses of Vec3 in net.minecraft.entity

    Methods in net.minecraft.entity that return Vec3
    Modifier and Type | Method and Description
    --- | ---
    `Vec3` | EntityLiving.`getLook(float par1)` interpolated look vector
    `Vec3` | EntityLiving.`getLookVec()` returns a (normalized) vector of where this entity is looking
    `Vec3` | Entity.`getLookVec()` returns a (normalized) vector of where this entity is looking
    `Vec3` | EntityLiving.`getPosition(float par1)`

    Methods in net.minecraft.entity with parameters of type Vec3
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | Entity.`isInRangeToRenderVec3D(Vec3 par1Vec3)`

  - ### Uses of Vec3 in net.minecraft.entity.ai

    Methods in net.minecraft.entity.ai that return Vec3
    Modifier and Type | Method and Description
    --- | ---
    `static Vec3` | RandomPositionGenerator.`findRandomTarget(EntityCreature par0EntityCreature, int par1, int par2)` finds a random target within par1(x,z) and par2 (y) blocks
    `static Vec3` | RandomPositionGenerator.`findRandomTargetBlockAwayFrom(EntityCreature par0EntityCreature, int par1, int par2, Vec3 par3Vec3)` finds a random target within par1(x,z) and par2 (y) blocks in the reverse direction of the point par3
    `static Vec3` | RandomPositionGenerator.`findRandomTargetBlockTowards(EntityCreature par0EntityCreature, int par1, int par2, Vec3 par3Vec3)` finds a random target within par1(x,z) and par2 (y) blocks in the direction of the point par3

    Methods in net.minecraft.entity.ai with parameters of type Vec3
    Modifier and Type | Method and Description
    --- | ---
    `static Vec3` | RandomPositionGenerator.`findRandomTargetBlockAwayFrom(EntityCreature par0EntityCreature, int par1, int par2, Vec3 par3Vec3)` finds a random target within par1(x,z) and par2 (y) blocks in the reverse direction of the point par3
    `static Vec3` | RandomPositionGenerator.`findRandomTargetBlockTowards(EntityCreature par0EntityCreature, int par1, int par2, Vec3 par3Vec3)` finds a random target within par1(x,z) and par2 (y) blocks in the direction of the point par3

  - ### Uses of Vec3 in net.minecraft.entity.effect

    Methods in net.minecraft.entity.effect with parameters of type Vec3
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | EntityLightningBolt.`isInRangeToRenderVec3D(Vec3 par1Vec3)`

  - ### Uses of Vec3 in net.minecraft.entity.item

    Methods in net.minecraft.entity.item that return Vec3
    Modifier and Type | Method and Description
    --- | ---
    `Vec3` | EntityMinecart.`func_70489_a(double par1, double par3, double par5)`
    `Vec3` | EntityMinecart.`func_70495_a(double par1, double par3, double par5, double par7)`

  - ### Uses of Vec3 in net.minecraft.network.packet

    Constructors in net.minecraft.network.packet with parameters of type Vec3
    Constructor and Description
    `Packet60Explosion(double par1, double par3, double par5, float par7, List par8List, Vec3 par9Vec3)`

  - ### Uses of Vec3 in net.minecraft.pathfinding

    Methods in net.minecraft.pathfinding that return Vec3
    Modifier and Type | Method and Description
    --- | ---
    `Vec3` | PathEntity.`getPosition(Entity par1Entity)` returns the current PathEntity target node as Vec3D
    `Vec3` | PathEntity.`getVectorFromIndex(Entity par1Entity, int par2)` Gets the vector of the PathPoint associated with the given index.

    Methods in net.minecraft.pathfinding with parameters of type Vec3
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | PathEntity.`isDestinationSame(Vec3 par1Vec3)` Returns true if the final PathPoint in the PathEntity is equal to Vec3D coords.

  - ### Uses of Vec3 in net.minecraft.util

    Fields in net.minecraft.util declared as Vec3
    Modifier and Type | Field and Description
    --- | ---
    `Vec3` | MovingObjectPosition.`hitVec` The vector position of the hit

    Methods in net.minecraft.util that return Vec3
    Modifier and Type | Method and Description
    --- | ---
    `Vec3` | Vec3.`addVector(double par1, double par3, double par5)` Adds the specified x,y,z vector components to this vector and returns the resulting vector.
    `static Vec3` | Vec3.`createVectorHelper(double par0, double par2, double par4)` Static method for creating a new Vec3D given the three x,y,z values.
    `Vec3` | Vec3.`crossProduct(Vec3 par1Vec3)`
    `Vec3` | Vec3.`getIntermediateWithXValue(Vec3 par1Vec3, double par2)` Returns a new vector with x value equal to the second parameter, along the line between this vector and the passed in vector, or null if not possible.
    `Vec3` | Vec3.`getIntermediateWithYValue(Vec3 par1Vec3, double par2)` Returns a new vector with y value equal to the second parameter, along the line between this vector and the passed in vector, or null if not possible.
    `Vec3` | Vec3.`getIntermediateWithZValue(Vec3 par1Vec3, double par2)` Returns a new vector with z value equal to the second parameter, along the line between this vector and the passed in vector, or null if not possible.
    `Vec3` | Vec3Pool.`getVecFromPool(double par1, double par3, double par5)` extends the pool if all vecs are currently "out"
    `Vec3` | Vec3.`normalize()` Normalizes the vector to a length of 1 (except if it is the zero vector)
    `Vec3` | Vec3.`subtract(Vec3 par1Vec3)`

    Methods in net.minecraft.util with parameters of type Vec3
    Modifier and Type | Method and Description
    --- | ---
    `MovingObjectPosition` | AxisAlignedBB.`calculateIntercept(Vec3 par1Vec3, Vec3 par2Vec3)`
    `Vec3` | Vec3.`crossProduct(Vec3 par1Vec3)`
    `double` | Vec3.`distanceTo(Vec3 par1Vec3)` Euclidean distance between this and the specified vector, returned as double.
    `double` | Vec3.`dotProduct(Vec3 par1Vec3)`
    `Vec3` | Vec3.`getIntermediateWithXValue(Vec3 par1Vec3, double par2)` Returns a new vector with x value equal to the second parameter, along the line between this vector and the passed in vector, or null if not possible.
    `Vec3` | Vec3.`getIntermediateWithYValue(Vec3 par1Vec3, double par2)` Returns a new vector with y value equal to the second parameter, along the line between this vector and the passed in vector, or null if not possible.
    `Vec3` | Vec3.`getIntermediateWithZValue(Vec3 par1Vec3, double par2)` Returns a new vector with z value equal to the second parameter, along the line between this vector and the passed in vector, or null if not possible.
    `boolean` | AxisAlignedBB.`isVecInside(Vec3 par1Vec3)` Returns if the supplied Vec3D is completely inside the bounding box
    `double` | Vec3.`squareDistanceTo(Vec3 par1Vec3)` The square of the Euclidean distance between this and the specified vector.
    `Vec3` | Vec3.`subtract(Vec3 par1Vec3)`

    Constructors in net.minecraft.util with parameters of type Vec3
    Constructor and Description
    `MovingObjectPosition(int par1, int par2, int par3, int par4, Vec3 par5Vec3)`

  - ### Uses of Vec3 in net.minecraft.world

    Methods in net.minecraft.world that return Vec3
    Modifier and Type | Method and Description
    --- | ---
    `Vec3` | WorldProvider.`drawClouds(float partialTicks)`
    `Vec3` | World.`drawClouds(float par1)`
    `Vec3` | World.`drawCloudsBody(float par1)`
    `Vec3` | World.`getFogColor(float par1)`
    `Vec3` | WorldProviderHell.`getFogColor(float par1, float par2)`
    `Vec3` | WorldProvider.`getFogColor(float par1, float par2)`
    `Vec3` | WorldProviderEnd.`getFogColor(float par1, float par2)`
    `Vec3` | WorldProvider.`getSkyColor(Entity cameraEntity, float partialTicks)`
    `Vec3` | World.`getSkyColor(Entity par1Entity, float par2)`
    `Vec3` | World.`getSkyColorBody(Entity par1Entity, float par2)`

    Methods in net.minecraft.world with parameters of type Vec3
    Modifier and Type | Method and Description
    --- | ---
    `float` | World.`getBlockDensity(Vec3 par1Vec3, AxisAlignedBB par2AxisAlignedBB)` Gets the percentage of real blocks within within a bounding box, along a specified vector.
    `MovingObjectPosition` | World.`rayTraceBlocks_do_do(Vec3 par1Vec3, Vec3 par2Vec3, boolean par3, boolean par4)`
    `MovingObjectPosition` | World.`rayTraceBlocks_do(Vec3 par1Vec3, Vec3 par2Vec3, boolean par3)`
    `MovingObjectPosition` | World.`rayTraceBlocks(Vec3 par1Vec3, Vec3 par2Vec3)` ray traces all blocks, including non-collideable ones

    Constructors in net.minecraft.world with parameters of type Vec3
    Constructor and Description
    `ChunkPosition(Vec3 par1Vec3)`