//p - EntityPlayer
int radius = 5;
Vec3 position = Vec3.createVectorHelper(p.getLookVec().xCoord * radius, p.posY, p.getLookVec().zCoord * radius);
p.setPositionAndUpdate(p.posX + position.xCoord, p.posY, p.posZ + position.zCoord);
Чекни EntityArrow, там естьо, спасибо, и еще вопрос, он в блоках застревает, это какая нужна проверка?
Block block = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f);
if (block.getMaterial() != Material.air)
{
block.setBlockBoundsBasedOnState(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f);
AxisAlignedBB axisalignedbb = block.getCollisionBoundingBoxFromPool(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f);
if (axisalignedbb != null && [COLOR=rgb(44, 130, 201)]axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))[/COLOR])
{
this.inGround = true;
}
}
По аналогии. Проверяешь, нет ли вектора внутри AABB(AxisAlignedBB) блока, который на получаешь по координатам позиции игрока с прибавленным вектором, этого самого вектора. Метод в коде выделил голубым. Если есть - не тпаешь.это какая нужна проверка?