[1.7.10] Ускорить FireBall

svk

1,185
3
Надо ускорить FireBall, сделал своё ентити. В копии EntityFireBall редактировал motionX,Y,Z, но ровным счётом ничего не изменилось. Игра с accelerationX тоже ничего годного не дала.
Пытался придать ускорения 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);
          }
Но теперь траектория вовсе изменилась... Помогите...
 
Вообще думаю убрать всё, и сделать при соприкосновении с ентити с ентити оставить урон.
А ускорять по "моей" системе.
 
Как бы motionX/Y/Z и accelerationX/Y/Z должны быть одинаковыми.
[merge_posts_bbcode]Добавлено: 07.02.2015 01:05:08[/merge_posts_bbcode]

И учи английский.
Fire - огонь.
Fare - плата за проезд.
Делай выводы.
 
Dragon2488 написал(а):
Как бы motionX/Y/Z и accelerationX/Y/Z должны быть одинаковыми.
[merge_posts_bbcode]Добавлено: 07.02.2015 01:05:08[/merge_posts_bbcode]

И учи английский.
Fire - огонь.
Fare - плата за проезд.
Делай выводы.
Я опечатался 1 раз, а уже раздул трагедию.
Так и не понял... Если они должны быть одинаковыми, зачем тогда вообще 2 переменные? И что они делают - хз, пробовал acceleration умножить (Все 3), траектория дугообразной стала...
 
Не умничай, просто сделай их одинаковыми.
Как буду дома - объясню, сейчас сурсов нет под рукой.
 
b51123d880d7142c4f9b4358763e4646.png
 
Да ты кэп. А за оффтоп и флуд в бан улетишь, последний раз предупреждаю.
 
Назад
Сверху