- 5
- 0
Добрый день, форумчане!
Вопрос состоит в следующем...
Сделал значит я entity bullet вроде всё работает, но сама пуля достаёт до живого энтити дальше чем нужно.
Уже 2 недели ломаю голову почему, пробовал найти информацию о хитбоксах запускаемой пули, но вроде ничего нет, а this.setSize не помогло.
Вот костыль кому нужен -
Вот видео - Тут
Вопрос состоит в следующем...
Сделал значит я entity bullet вроде всё работает, но сама пуля достаёт до живого энтити дальше чем нужно.
Уже 2 недели ломаю голову почему, пробовал найти информацию о хитбоксах запускаемой пули, но вроде ничего нет, а this.setSize не помогло.
Вот костыль кому нужен -
Вот видео - Тут
Java:
package mods.ru.bloomvoltio.stalker.entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.projectile.EntityThrowable;
import net.minecraft.util.DamageSource;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
public class EntityBullet extends EntityThrowable {
public float damage;
public float damageFactor;
public float speedBullet = 4.0F;
public float gravityBullet = 0.0F;
public EntityBullet(World world) {
super(world);
this.setSize(0.0F, 0.0F);
}
public EntityBullet(World world, EntityLivingBase shooter, float damage) {
super(world, shooter);
this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, speedBullet, gravityBullet);
this.damage = damage;
}
@Override
public void onUpdate() {
super.onUpdate();
this.motionX *= (double)this.speedBullet;
this.motionY *= (double)this.speedBullet;
this.motionZ *= (double)this.speedBullet;
this.setPosition(this.posX, this.posY, this.posZ);
}
@Override
protected void onImpact(MovingObjectPosition mop) {
if(!worldObj.isRemote) {
if(mop.typeOfHit.equals(mop.typeOfHit.ENTITY)) {
mop.entityHit.attackEntityFrom(new DamageSource("bullet"), damage);
mop.entityHit.hurtResistantTime = 0;
this.setDead();
} else {
this.setDead();
}
}
}
}
Последнее редактирование: