Мне очень нужна помощь в вычислении уравнения скорости, чтобы запустить игрока из одного места X Y Z в другое. просмотрев другие потоки, я создал следующий код (код не работает)
public void vJump(Entity entity, Location loc, double time)
{
this.entity = entity;
entity.setVelocity(getV(entity.getLocation(), loc, time));
}
private Vector getV(Location p1, Location p2, double t)
{
double x = p2.getX() - p1.getX();
double y = p2.getY() - p1.getY();
double z = p2.getZ() - p1.getZ();
double gravity = -14.266;
return new Vector(getVelocity(x,gravity,t), getVelocity(y,gravity,t), getVelocity(z,gravity,t));
}
private double getVelocity(double d, double a, double t)
{
a*=-.5;
a*=Math.pow(t,2);
d-=a;
return d/t;
}
я не знаю ни гравитации в майнкрафте, ни трения движения. проблема с приведенным выше кодом заключается в том, что он идет не в правильном направлении и не создает эффект параболы, который я искал.