- 1,185
- 3
Надо ускорить FireBall, сделал своё ентити. В копии EntityFireBall редактировал motionX,Y,Z, но ровным счётом ничего не изменилось. Игра с accelerationX тоже ничего годного не дала.
Пытался придать ускорения addVelocity
Но теперь траектория вовсе изменилась... Помогите...
Пытался придать ускорения addVelocity
Код:
float var4 = 1.0F;
int i = (int)(entity.prevPosX + (entity.posX - entity.prevPosX) * (double)var4);
int j = (int)(entity.prevPosY + (entity.posY - entity.prevPosY) * (double)var4 + 1.62D - (double)entity.yOffset);
int k = (int)(entity.prevPosZ + (entity.posZ - entity.prevPosZ) * (double)var4);
if(!world.isRemote)
{
Vec3 movingobjectposition = entity.getLookVec();
EntityLargeFireball x = new EntityLargeFireball(world, entity, 1.0D, 1.0D, 1.0D);
x.setPosition(entity.posX + movingobjectposition.xCoord * 1.0D, entity.posY + 1 + movingobjectposition.yCoord * 1.0D, entity.posZ + movingobjectposition.zCoord * 1.0D);
x.accelerationX = movingobjectposition.xCoord * 0.5D;
x.accelerationY = movingobjectposition.yCoord * 0.5D;
x.accelerationZ = movingobjectposition.zCoord * 0.5D;
double prX = 0.5D;
double prY;
double prZ;
double xv = movingobjectposition.xCoord;
double zv = movingobjectposition.zCoord;
double yv = movingobjectposition.yCoord;
if(movingobjectposition.xCoord < 0){xv = movingobjectposition.xCoord * (-1);}
if(movingobjectposition.zCoord < 0){zv = movingobjectposition.zCoord * (-1);}
prZ = prX * xv / zv;
if(movingobjectposition.xCoord < 0){xv *= (-1);}
if(movingobjectposition.zCoord < 0){zv *= (-1);}
x.addVelocity(prX, 0, prZ);
world.spawnEntityInWorld(x);
}