Ejemplo n.º 1
0
 private void OnTerrainCollision(object sender, EntityTerrainCollisionEventArgs entityTerrainCollisionEventArgs)
 {
     if (entityTerrainCollisionEventArgs.Direction.Y < -0.25f && !Abilities.IsFlying)
     {
         if (LastCollisionY != -1 && LastCollisionY > Position.Y)
         {
             short diff = (short)((LastCollisionY - Position.Y) - 3);
             if (diff > 0)
                 Health -= diff;
         }
         LastCollisionY = Position.Y;
     }
 }
Ejemplo n.º 2
0
 void BlockEntity_TerrainCollision(object sender, EntityTerrainCollisionEventArgs e)
 {
     if ((e.Block + Vector3.Up).Y < Chunk.Height)
         e.World.SetBlock(e.Block + Vector3.Up, (Block)Item.Id);
     e.World.OnDestroyEntity(this);
 }