Mostly improved dart collision.
This commit is contained in:
parent
1beab1999a
commit
a1ef4b6690
3 changed files with 28 additions and 2 deletions
|
@ -1,6 +1,7 @@
|
|||
package com.legacy.aether;
|
||||
|
||||
import com.legacy.aether.entities.passive.mountable.EntityAerbunny;
|
||||
import com.legacy.aether.entities.projectile.darts.EntityDartBase;
|
||||
import com.legacy.aether.network.AetherNetwork;
|
||||
import com.legacy.aether.network.packets.PacketSendEternalDay;
|
||||
import com.legacy.aether.network.packets.PacketSendShouldCycle;
|
||||
|
|
|
@ -39,6 +39,7 @@ public abstract class EntityDartBase extends EntityArrow implements IProjectile,
|
|||
private int ticksInGround;
|
||||
private int ticksInAir;
|
||||
private double damage = 2.0D;
|
||||
private float gravityVelocity;
|
||||
|
||||
public EntityDartBase(World world) {
|
||||
super(world);
|
||||
|
@ -308,6 +309,11 @@ public abstract class EntityDartBase extends EntityArrow implements IProjectile,
|
|||
this.setPosition(this.posX, this.posY, this.posZ);
|
||||
this.func_145775_I();
|
||||
}
|
||||
|
||||
if (this.ticksInAir == 500)
|
||||
{
|
||||
this.setDead();
|
||||
}
|
||||
}
|
||||
|
||||
public void onDartHit(MovingObjectPosition movingobjectposition) {
|
||||
|
@ -386,10 +392,25 @@ public abstract class EntityDartBase extends EntityArrow implements IProjectile,
|
|||
this.inTile.onEntityCollidedWithBlock(this.worldObj, this.tileX, this.tileY, this.tileZ, this);
|
||||
}
|
||||
}
|
||||
|
||||
if (movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.ENTITY && movingobjectposition.entityHit != this.shootingEntity.riddenByEntity)
|
||||
{
|
||||
this.setDead();
|
||||
}
|
||||
else
|
||||
{
|
||||
this.setGravityVelocity(0.03F);
|
||||
}
|
||||
}
|
||||
|
||||
protected float getGravityVelocity() {
|
||||
return 0.99F;
|
||||
protected float getGravityVelocity()
|
||||
{
|
||||
return this.gravityVelocity;
|
||||
}
|
||||
|
||||
public void setGravityVelocity(float gravityVelocity)
|
||||
{
|
||||
this.gravityVelocity = gravityVelocity;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -150,6 +150,10 @@ public class ItemDartShooter extends Item {
|
|||
|
||||
if (!world.isRemote) {
|
||||
world.spawnEntityInWorld(dart);
|
||||
if (dart != null)
|
||||
{
|
||||
dart.setGravityVelocity(0.99F);
|
||||
}
|
||||
|
||||
if (!(entityplayer.capabilities.isCreativeMode)) {
|
||||
dart.canBePickedUp = 1;
|
||||
|
|
Loading…
Reference in a new issue